GridView显示空表头

转帖.原帖如下:

GridVew提供了EmptyRowText让开发者在没有数据的情况下显示提示信息告诉用户,但是用户还是习惯于常见的空表头。要达到这一目的,方法很多。《ASP.NET 2.0实战起步》中介绍了几种,此外,还有另种常用的方法:

 

DataTable  l_Dt = ds.Tables[0];
DataRow l_Dr 
= l_Dt.NewRow();
l_Dt.Clear();
l_Dt.Rows.Add(l_Dr);
GridView.DataSource 
= l_Dt;
GridView.DataBind();

 

为GridView绑定一个空表。

 

 

这样子绑定的话GridView依然会显示一行空行.

如果原先的GridView已经有了数据的帮顶.比如SqlDataSource绑定的话.则需要使用如下方法

 

public void AddNullRow(GridView gv)
{
    
//添加新临时表
    DataTable dt = new DataTable();
    
//在表中添加行
    dt.Columns.Add("period");
    dt.Columns.Add(
"num1");
    dt.Columns.Add(
"num2");
    dt.Columns.Add(
"num3");
    ..
//需要定义多少行视实际情况而定
    
//定义新行
    DataRow dr = dt.NewRow();
    dt.Clear();
    
//将新行添加到表中
    dt.Rows.Add(dr);
    gv.DataSource 
= dt;
    gv.DataBind();
    
//绑定之后将第一行隐藏
    gv.Rows[0].Visible = false;
}

 

在调用的时候需要将原先GridView绑定的数据取消掉.即

 

//GridView gv=new GridView();
//添加空行之前需取消掉原先的绑定,如果原先没有绑定的则可以省略
gv.DataSource = "";
gv.DataSourceID 
= "";
AddNullRow(gv);

//在添加了新行之后.需要将数据集的绑定重新设定好
gv.DataSourceID = "SqlDataSource";
gv.DataBind();
posted @ 2008-10-31 15:14  Larify  阅读(696)  评论(0编辑  收藏  举报