我用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();
}
}