asp.net 2.0 中引入的GridView控件当其数据源为空时(GridView.DataSource=null)不能显示出表头。
解决:
方法一:采用其EmptyTemplate来实现,模版中写一个静态的table;
如果你的表头只是html的文本,没有任何控件。你可以在表头显示出来的时候,拷贝表头部分的html,然后放到EmptyDataTemplate里面。
缺点: 麻烦,每个GridVIew都需要设置一下。
方法二: 若数据源为DataTable,则当无数据时,始终返回一个空行的DataTable;
若数据源是集合类(ArrayList,List等),无数据时,生成一个空的实体,加入到集合类中。
缺点: 还是麻烦。
###StudyGet_Info_Pagination_SIGN###
方法三:
也是要给大家介绍的方法: 扩展GridView来实现。继承GridVie,重写Render方法,当其数据源为空时做一下处理,直接看代码吧:
///
/// GridView 扩展控件
///
///
public class GridView : System.Web.UI.WebControls.GridView
{
private bool _enableEmptyContentRender = true ;
///
/// 是否数据为空时显示标题行
///
public bool EnableEmptyContentRender
{
set { _enableEmptyContentRender = value; }
get { return _enableEmptyContentRender; }
}
private string _EmptyDataCellCssClass ;
///
/// 为空时信息单元格样式类
///
public string EmptyDataCellCssClass
{
set { _EmptyDataCellCssClass = value ; }
get { return _EmptyDataCellCssClass ; }
}
///
/// 为空时输出内容
///
///
|