当前位置: 代码迷 >> ASP.NET >> GridView如果没记录能显示表头表尾吗解决方法
  详细解决方案

GridView如果没记录能显示表头表尾吗解决方法

热度:6106   发布时间:2013-02-26 00:00:00.0
GridView如果没记录能显示表头表尾吗
我用asp.net   2.0的gridview控件。如果邦定的数据源没有记录,是什么都不显示的。但是如果我想在数据源没有记录的情况下,仍能显示表头表尾。可以吗,请教

------解决方案--------------------------------------------------------
可以填充一个空数据,但是不推荐,因为GRIDVIEW已经提供了 <EmptyDataTemplate>
你在GRIDVIEW里放一个
<EmptyDataTemplate>
//这里放做好的空表和没有数据的提示信息,HTML格式
</EmptyDataTemplate>
这样的方法更好。
------解决方案--------------------------------------------------------
http://blog.csdn.net/zhjg136/archive/2006/07/09/896357.aspx
------解决方案--------------------------------------------------------
在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();

}

}

  相关解决方案