在网上找了很多,都出现了不同的问题,最后修改了一个版本,觉得好用,就拿出来共享下
1![](/Images/OutliningIndicators/ContractedBlock.gif)
无数据显示表头#region 无数据显示表头
2
protected void OnlyShowGridViewHeader(GridView gv, DataTable dt)
3![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
4
if (dt.Rows.Count == 0)
5![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
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![](/Images/OutliningIndicators/InBlock.gif)
18
protected void OnlyShowGridViewHeader(GridView gv, DataSet ds, string tableName)
19![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
20
OnlyShowGridViewHeader(gv, ds.Tables[tableName]);
21
}
22![](/Images/OutliningIndicators/InBlock.gif)
23
protected void OnlyShowGridViewHeader(GridView gv, DataSet ds)
24![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
25
OnlyShowGridViewHeader(gv, ds.Tables[0]);
26
}
27
#endregion
一定要在数据绑定后再调用这个方法,呵呵
1
public void gvCheckDataBind()
2![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
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
}