鉴于datagrid的分页非常垃圾,我就自己做了一个翻页控件
有些朋友对web控件编写还不是非常熟悉,呵呵,我看到很多朋友在询问包括回传事件等等,我在这里讲解一些(高手跳过)
其中控件要实现回传,我继承IPostBackEventHandler接口,在成员函数RaisePostBackEvent(string eventArgument)中实现对当前页的存放.设置Onclick为回传,需要用到Page.GetPostBackEventReference 方法,其中GetPostBackEventReference ( System.Web.UI.Control control , System.String argument )包含两个参数,第一个表示实现回传的控件,第2个表示回传值,这个值也就是我们成员函数RaisePostBackEvent获取到的值.在这里,我是把当前页索引作为回传值的,在成员函数中显现对viewstate的副职

其中包括两个viewstate,分别保存总记录数和当前页索引

翻页控件ViewState["RecordCount"//存放总记录
翻页控件
ViewState["page"//存放当前页


其中包含属性:

翻页控件public int RecordCount //总记录数
翻页控件
public int CurrentIndex //当前页数
翻页控件
public int PageCount //总页数
翻页控件
public int PageViewCount //每页显示的记录数
翻页控件
public string Style //样式
翻页控件
public string Info //显示的文字

重写了Render方法

翻页控件protected override void Render(HtmlTextWriter htw)
        }


函数GetInt为从总记录数计算页数

翻页控件private int GetInt(int Value,int PasvValue)
        }


调用过程
只需要初始覆值 CutePager1.RecordCount  总记录数

回传事件中只需要重新帮定你的DataGrid等就行,
this.CutePager1.CurrentIndex为当前索引
CutePager1.PageViewCount为每页显示的记录数,

这里包含原文件和一个demo文件,大家有兴趣的朋友可以看看,大家互相学习
Demo   Source

相关文章:

  • 2022-12-23
  • 2021-05-15
  • 2022-02-28
  • 2021-07-27
  • 2021-09-10
  • 2022-12-23
猜你喜欢
  • 2021-06-25
  • 2021-06-14
  • 2021-06-10
  • 2021-08-15
  • 2022-12-23
  • 2021-07-21
相关资源
相似解决方案