当前位置:编程学习 > C#/ASP.NET >>

如何让gridview在没有数据时显示表头?

如何让gridview在没有数据时显示表头? --------------------编程问答-------------------- 一种方法是再把表头的内容写一边到空模版中,没数据时显示空模版就相当于显示表头了 --------------------编程问答-------------------- 空模版是什么意思 ?能不能说的详细点? --------------------编程问答-------------------- EmptyDataTemplate --------------------编程问答-------------------- 看看我的blog
  
我的e-mail:bdbox@163.com,欢迎与我交流。 --------------------编程问答-------------------- AffairInfo affairsempty = new AffairInfo();

            AffairInfo[] newaffairs = new AffairInfo[1];
            newaffairs[0] = affairsempty;

            GridAffairs.DataSource = newaffairs;
            GridAffairs.DataBind();
            int columnCount = GridAffairs.Rows[0].Cells.Count;
            GridAffairs.Rows[0].Cells.Clear();
            GridAffairs.Rows[0].Cells.Add(new TableCell());
            GridAffairs.Rows[0].Cells[0].ColumnSpan = columnCount;
            GridAffairs.Rows[0].Cells[0].Text = "没有数据";
            GridAffairs.RowStyle.HorizontalAlign = System.Web.UI.WebControls.HorizontalAlign.Center; --------------------编程问答-------------------- 完美解决-绑定gridview时,无内容仍显示表头
  
我的e-mail:bdbox@163.com,欢迎与我交流。 --------------------编程问答-------------------- 在DataGrid中,我们可以把一个包含空记录的DataSet或DataTable绑定给DataGrid,这样,呈现时,DataGrid会把数据源中的字段定义以表头的形式显示出来。

在GridView控件中,却不可以,如果DataSet或DataTable是空记录。则GridView连表头都不显示。只能通过变通的方法实现,稍微有一些麻烦:

    public void BuildNoRecords(GridView gridView, DataSet ds)

    {

        if (ds.Tables[0].Rows.Count == 0)

        {

            ds.Tables[0].Rows.Add(ds.Tables[0].NewRow());

            gridView.DataSource = ds;

            gridView.DataBind();

            int columnCount = gridView.Rows[0].Cells.Count;

            gridView.Rows[0].Cells.Clear();

            gridView.Rows[0].Cells.Add(new TableCell());

            gridView.Rows[0].Cells[0].ColumnSpan = columnCount;

            gridView.Rows[0].Cells[0].Text = "No Records Found.";

        }

        else

        {

            gridView.DataSource = ds;

            gridView.DataBind();

        }

    }

--------------------编程问答-------------------- 数据源是SqlDataSource,表头添加上去了,但是不能编辑,更新,删除了,求助怎么解决?
 显示表头的代码:GridView1.DataSourceID = "";
        GridView1.DataSource = SqlDataSource1;
        GridView1.DataBind();
        if (GridView1.Rows.Count == 0)
        {
            //在创建时,我利用了sqldatasource的connect string 和select command,将来改变数据库连接或sql不会影响这段代码
            using (System.Data.SqlClient.SqlConnection connect = new System.Data.SqlClient.SqlConnection(SqlDataSource1.ConnectionString))
            {
                connect.Open();
                DataTable dt = new DataTable();
                System.Data.SqlClient.SqlDataAdapter adpter = new System.Data.SqlClient.SqlDataAdapter(SqlDataSource1.SelectCommand, connect);
                adpter.Fill(dt);
                DataRow dr = dt.NewRow();
                dt.Clear();
                dt.Rows.Add(dr);
                GridView1.DataSource = dt;
                GridView1.DataBind();
            }
        } --------------------编程问答-------------------- 人家是问DATAVIEW怎么还有人回答DATAGRID啊。 --------------------编程问答-------------------- 加一空行 --------------------编程问答-------------------- 最简单的方式:与楼上一致,加一句空行,我的许多项目都这么做的 --------------------编程问答-------------------- gridviewid。columns.Add("标题");
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,