zoukankan      html  css  js  c++  java
  • 修改DataGrid控件的默认的分页样式 dodo

    用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+“页“;

          }

        }

      }

    }

  • 相关阅读:
    SqlMembershipProvider的配置
    自定义HtppHandler和HttpModule
    [导入]Sql Server 2005 Express中配置用户
    [导入]Asp.net中使用客户端脚本的方法
    JumpServer 架构浅解
    你准备好开始DevOps了吗?
    为什么是戒了爱你
    今天考试了
    [心疼女友]
    这个世界看不清
  • 原文地址:https://www.cnblogs.com/zgqys1980/p/568710.html
Copyright © 2011-2022 走看看