如何让Gridview在没有数据的时候显示表头
方法一:采用其EmptyTemplate来实现,模版中写一个静态的table; 如果你的表头只是html的文本,没有任何控件。你可以在表头显示出来的时候,拷贝表头部分的html,然后放到EmptyDataTemplate里面。 缺点: 麻烦,每个GridVIew都需要设置一下。 方法二: 若数据源为DataTable,则当无数据时,始终返回一个空行的DataTable; 若数据源是集合类(ArrayList,List<T>等),无数据时,生成一个空的实体,加入到集合类中。 缺点: 还是麻烦。 方法三: 也是要给大家介绍的方法: 扩展GridView来实现。继承GridVie,重写Render方法,当其数据源为空时做一下处理,直接看代码吧:
这三个都知道了。
方法一:采用其EmptyTemplate来实现,模版中写一个静态的table; 如果你的表头只是html的文本,没有任何控件。你可以在表头显示出来的时候,拷贝表头部分的html,然后放到EmptyDataTemplate里面。 缺点: 麻烦,每个GridVIew都需要设置一下。 方法二: 若数据源为DataTable,则当无数据时,始终返回一个空行的DataTable; 若数据源是集合类(ArrayList,List<T>等),无数据时,生成一个空的实体,加入到集合类中。 缺点: 还是麻烦。 方法三: 也是要给大家介绍的方法: 扩展GridView来实现。继承GridVie,重写Render方法,当其数据源为空时做一下处理,直接看代码吧:
这三个都知道了。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DataRowView d = (DataRowView )e.Row.DataItem;
if (d["id"]==null || d["id"]==string.Empty)
e.Row.Visible = false;
}
}
virtual void RenderEmptyContent
dt.row.add("","","","","","");
dt.AcceptChange();
http://blog.csdn.net/jason_dct/archive/2010/05/15/5594604.aspx