近日继承了GridView控件,添加些常用功能,顺便在控件中解决了以前遇到的一些小问题。
使用DataGrid的时候,对于一些简单的数据操作,经常用到在一个Grid里面实现增删改,一般使用footer新增数据。换成GridView就出现了问题了,在数据条数为0的时候页眉页脚都不见了,必须有数据的时候才显示出来。
网上搜索一下,也没找到好的解决方案,有的是动态加一个表格实现页眉,有的是始终加入一个空数据,经过比较研究,采用了以下的解决方案,较好的解决了这个问题。
绑定之前判断
if (this.DataSource is DataTable && (DataSource as DataTable).Rows.Count == 0)
{
this.RowDataBound += new GridViewRowEventHandler(GridView_RowDataBound);
(DataSource as DataTable).Rows.Add((DataSource as DataTable).NewRow());
}
void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow) e.Row.Visible = false;
}