无数据的GridView的表头

在网上找了很多,都出现了不同的问题,最后修改了一个版本,觉得好用,就拿出来共享下

 1   #region 无数据显示表头
 2    protected void OnlyShowGridViewHeader(GridView gv, DataTable dt)
 3    {
 4        if (dt.Rows.Count == 0)
 5        {
 6            dt.Rows.Add(dt.NewRow());            
 7            gv.DataSource = dt;
 8            gv.DataBind();
 9            foreach (TableCell cell in gv.Rows[0].Cells)
10                if (cell.HasControls())
11                    foreach (Control ctrl in cell.Controls)
12                        ctrl.Visible = false;
13            gv.Rows[0].Cells[0].Text = "";
14            //gv.Rows[0].Cells[gv.Columns.Count / 2-1].Text = "没有数据!";
15        }

16    }

17
18    protected void OnlyShowGridViewHeader(GridView gv, DataSet ds, string tableName)
19    {
20        OnlyShowGridViewHeader(gv, ds.Tables[tableName]);
21    }

22
23    protected void OnlyShowGridViewHeader(GridView gv, DataSet ds)
24    {
25        OnlyShowGridViewHeader(gv, ds.Tables[0]);
26    }

27    #endregion


一定要在数据绑定后再调用这个方法,呵呵
1      public   void  gvCheckDataBind()
2      {
3        DataSet ds = new DataSet();
4        ds = chk.QueryChecksCommand(drpOperateMode.SelectedValue, key.Text.Trim(), gm1.Date.ToString(), gm2.Date.ToString(), 2);
5        gvChecks.DataSource=ds;
6        gvChecks.DataBind();
7        OnlyShowGridViewHeader(gvChecks, ds);
8    }

你可能感兴趣的:(GridView)