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