改变DataGrid分页栏的样式

如何使DataGrid控件的分页导航条变个样式。

用DataGrid控件进行分页时,要么上一页,下一页,要么全是数字,做出后自己都看不过眼,更别提普通浏览者了。可是怎么改变一下呢??

其实也不是很难,先看看DataGrid显示的是什么东东,这样可能会有点眉目。¢

在DataGrid中,分页导航栏是用一行(TableRow)来表现出来,在这个行(TableRow)中,只有一个列(TableCell),我们所看到的所有的数字超链接按钮(LinkBurron)都是这个列(TableCell)里的控件,里面的布局是:一个超链接(LinkBurron),一个空格,再接一个超链接(LinkButton),再接一个空格。。。值得一说的是,ASP.NET里面生成的所有东东都是控件,所以那个空格也逃不了。于是,我们要想改变样式,就是改变那个TableCell里面的控件就行了。

为了达到改变TableCell里面控件的目的,我们还要用到ItemCreated事件,MSDN上写:

当创建 DataGrid 控件中的项时(不论是在往返行程中还是在将数据绑定到控件时),都会引发 ItemCreated 事件。ItemCreated 事件通常用于控制 DataGrid 控件中行的内容和外观。

好了,下面看看具体是怎么实现的:

1.在DataGrid的属性里,添加  OnItemCreated = “ItemCreaged”;

2.在下面的代码里加上

void ItemCreated ( object sender, DataGridItemEventArgs e )

{

  ListItemType type = e.Item.Type;//ListItemType是枚举,表示可以包含在列表控件中的不同项

  if ( type == ListItemType.Pager )

  {

    TableCell pager = (TableCell)e.Item.Controls[0];

    for ( int i=0; i<pager.Controls.Count; i+=2 )

    {

      object o = pager.Controls[i];

      if (o is LinkButton )

      {

        LinkButton h = (LinkButton)o;

        h.Text = “[“ + h.Text + “]“;

      }

      else

      {

        Label    l = (Label)o;

        l.Text = “第“+l.Text+“页“;

      }

    }

  }

}

以上这些代码就可以实现不同于默认样式的分页导航条了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值