数据源为空时让GridView显示表头和提示

asp.net 2.0中使用的GridView控件,在其源为空时默认表头不显示。我们这里想要实现的是,通过扩展GridView控件、继承GridVie、重写Render方法来实现在源为空时显示表头并提示源为空:

/// summary

/// GridView 扩展控件

/// @author:jianyi0115@163.com

/// /summary

public class GridView : System.Web.UI.WebControls.GridView

{

private bool _enableEmptyContentRender = true ;

/// summary

/// 是否为空时显示标题行

/// /summary

public bool EnableEmptyContentRender

{

set { _enableEmptyContentRender = value; }

get { return _enableEmptyContentRender; }

}

private string _EmptyDataCellCssClass ;

/// summary

/// 为空时信息单元格样式类

/// /summary

public string EmptyDataCellCssClass

{

set { _EmptyDataCellCssClass = value ; }

get { return _EmptyDataCellCssClass ; }

}

/// summary

/// 为空时输出内容

/// /summary

/// param name=writer/param

protected virtual void RenderEmptyContent(HtmlTextWriter writer)

{

Table t = new Table(); //create a table

t.CssClass = this.CssClass; //copy all property

t.GridLines = this.GridLines;

t.BorderStyle = this.BorderStyle;

t.BorderWidth = this.BorderWidth;

t.CellPadding = this.CellPadding;

t.CellSpacing = this.CellSpacing;

t.HorizontalAlign = this.HorizontalAlign;

 

t.Width = this.Width;

 

t.CopyBaseAttributes(this);

 

TableRow row = new TableRow();

t.Rows.Add(row);

foreach (DataControlField f in this.Columns) //generate table header

{

TableCell cell = new TableCell();

cell.Text = f.HeaderText;

 

cell.CssClass = TdHeaderStyle1; //这里把表头样式写死了

 

row.Cells.Add(cell);

}

TableRow row2 = new TableRow();

t.Rows.Add(row2);

TableCell msgCell = new TableCell();

msgCell.CssClass = this._EmptyDataCellCssClass;

if (this.EmptyDataTemplate != null) //the second row, use the template

{

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值