GridView自定义分页样式

该博客介绍了如何扩展ASP.NET GridView控件以实现自定义分页样式。内容包括显示总记录数、每页记录数、当前页数、总页数,以及添加首页、上一页、下一页、末页和分页按钮的功能。通过创建SmartGridView类和Paging枚举,实现了自定义分页样式,并提供了设置按钮和显示数字分页按钮的方法。
摘要由CSDN通过智能技术生成

 扩展GridView控件:
自定义分页样式。显示总记录数、每页记录数、当前页数、总页数、首页、上一页、下一页、末页和分页按钮

使用方法(设置CustomPagerSettings复合属性):
PagingMode - 自定义分页的显示模式
TextFormat - 自定义分页的文本显示样式(四个占位符:{0}-每页显示记录数;{1}-总记录数;{2}-当前页数;{3}-总页数)


关键代码
 using System;
 using System.Collections.Generic;
 using System.Text;
 
 using System.Web.UI.WebControls;
 using System.Web.UI;
 using System.ComponentModel;
 using System.Collections;
 using System.Data;
 using System.Web.UI.HtmlControls;
 
 namespace YYControls.SmartGridViewFunction
  {
      /// <summary>
     /// 扩展功能:自定义分页样式
     /// </summary>
     public class CustomPagerSettingsFunction : ExtendFunction
      {
          /// <summary>
         /// 构造函数
         /// </summary>
         public CustomPagerSettingsFunction()
             : base()
          {
 
         }
 
          /// <summary>
         /// 构造函数
         /// </summary>
         /// <param name="sgv">SmartGridView对象</param>
         public CustomPagerSettingsFunction(SmartGridView sgv)
             : base(sgv)
          {
    
         }
 
          /// <summary>
         /// 扩展功能的实现
         /// </summary>
         protected override void Execute()
          {
             this._sgv.InitPager += new SmartGridView.InitPagerHandler(_sgv_InitPager);
         }
 
          /// <summary>
         /// SmartGridView的InitPager事件
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="row">一个 System.Web.UI.WebControls.GridViewRow,表示要初始化的页导航行</param>
         /// <param name="columnSpan">页导航行应跨越的列数</param>
         /// <param name="pagedDataSource">一个 System.Web.UI.WebControls.PagedDataSource,表示数据源</param>
         void _sgv_InitPager(object sender, GridViewRow row, int columnSpan, PagedDataSource pagedDataSource)
          {
             int recordCount = pagedDataSource.DataSourceCount;
 
             LinkButton First = new LinkButton();
             LinkButton Prev = new LinkButton();
             LinkButton Next = new LinkButton();
             LinkButton Last = new LinkButton();
 
             TableCell tc = new TableCell();
 
             row.Controls.Clear();
 
             tc.Controls.Add(new LiteralControl("&nbsp"));
 
              显示总记录数 每页记录数 当前页数/总页数
 
              设置“首页 上一页 下一页 末页”按钮
 
              添加首页,上一页按钮
 
              显示数字分页按钮
 
              添加下一页,末页按钮
 
             tc.Controls.Add(new LiteralControl("&nbsp"));
 
             tc.ColumnSpan = this._sgv.Columns.Count;
 
             row.Controls.Add(tc);       
         }
     }
 }
 

/*正式版的实现 结束*/

/*测试版的实现 开始*/

介绍
用着GridView自带的分页样式总觉得不太习惯,我们可以在PagerTemplate中来写一些自定义的样式,但是也挺麻烦的,其实我们可以扩展一下GridView,给它再增加一种分页样式


控件开发
1、新建一个继承自Grid

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值