1、QuickPager 分页控件的在线帮助文档,由 Mr.Wrong 帮忙编写,再此表示感谢!分页控件也是一个时间比较长的控件了,最早可以追溯到 2004 年,当时我在“三好在线”网站工作,做网站离不了分页,一开始用是手写分页,比较麻烦。于是就开始琢磨 SQL 语句和自定义控件。后期时间比较充裕,所以就弄出来了一个自己的分页控件。经过多年的不断完善,现在 QuickPager 分页控件的功能已经比较强大了,呵呵。当然还有很多需要完善的地方。一个是内部代码的整理、优化,另一是引入json 实现 ajax,在有就是支持 asp,net mvc 。还有其他的辅助功能,也会陆续实现出来。【QuickPa
2、ger 分页控件的类图】【分页算法的类图】 分类类型名称 最后更新 说明属性属性CssClass 2011-04-18设置默认的 css 样式名。属性属性DAL 2011-04-18访问数据库用的实例属性属性FunctionID 2011-04-18模块 ID属性属性IsBindControl 2011-04-18分页控件采用的数据提取方式属性属性IsSetRecordCount 2011-04-18直接设置总记录数,true:直接设置记录数;false:需要到数据库里面统计属性属性ManagerPageUI 2011-04-19分页方式的实例属性属性NaviCount 2011-04-19页
3、面导航的数量属性属性PageCount 2011-04-18总页数属性属性PageIndex 2011-04-18当前的页号属性属性PagerRunKind 2011-04-19分页控件采用的运行方式属性属性PagerSQL 2011-04-19分页算法的实例属性属性PagerTurnKind 2011-04-19分页控件采用的分页方式属性属性PageSize 2011-04-19一页的记录数属性属性PageUIAllCount 2011-04-19共0条记录数属性属性PageUIAllPage 2011-04-19第0/1页属性属性PageUIFirst 2011-04-19首页属性属性Pa
4、geUIGO 2011-04-19GO 去指定页号 的文字属性属性PageUILast 2011-04-19末页属性属性PageUINext 2011-04-19下一页属性属性PageUIPageSize 2011-04-19每页0条记录属性属性PageUIPrev 2011-04-19上一页属性属性RecordCount 2011-04-19总记录数属性属性ShowDataControl 2011-04-19设置显示数据的控件属性属性ShowDataControlIDs 2011-04-19显示数据的控件 ID属性属性UrlRewritePattern 2011-04-19URL 重写时需要
5、设置,显示的网页名称。属性属性UserControl 2011-04-19在用户控件里面使用的时候,需要设置。分类类型名称 最后更新 说明方法方法AddPageDataInfo 2011-04-19添加记录数等的显示方法方法BindFirstPage 2011-04-18显示第一页的数据,可以用于添加记录。方法方法BindThisPage 2011-04-19显示第一页的数据,可以用于添加记录方法方法BindThisPageForAddDelete 2011-04-19显示当前页的数据,不重新计算记录数,可以用于修改记录方法方法ComputeRecordCount 2011-04-19计算总记
6、录数,和页数方法方法CreateChildControls 2011-04-19绘制 UI方法方法DataBind 2011-04-19绑定控件方法方法DataBind 2011-04-19绑定控件方法方法GetDataTable 2011-04-19获取当前页的记录集,用DataTable 装载方法方法GetWebList2 2011-04-19获取当前页的记录集,用WebList2 装载方法方法RaisePostBackEvent 2011-04-19分页控件的回发事件方法方法SetPagerUI 2011-04-19自定义获取数据的时候,或者使用 URL 分页的时候,重新显示PagerU
7、I 的时候调用的函数。分 类 名称 最后更新 说明类 型事件事件GridBinded 2011-04-19用户单击页号后,并且绑定显示数据的控件之后触发事件事件PageChanged 2011-04-19用户单击页号后,触发的事件,在绑定显示数据的控件之前触发分页控件的 UI分类类型 名称 最后更新 说明方法方法 AddPageNavi 2011-04-19navigation方法方法 AddPageText 2011-04-19添加首页、上一页、下一页、末页、GO方法方法 AddPageUI 2011-04-19添加 UI 的步骤,以后需要灵活处理方法事件 GetAHref 2011-04-
8、19获取 a 的 href 和 calss 属性。方法事件 GetGoText 2011-04-19方法整体 GetURL 2011-04-19获取获取 URL 和参数,参数里去掉page=。方法构造函数PageUI 2011-04-19初始化,设置分页控件的实例方法方法 UpdatePageDataInfo 2011-04-19修改记录数等的显示方法方法 UpdatePageNavi 2011-04-19navigation方法方法 UpdatePageText 2011-04-19UpdatePageText方法类 UpdatePageUI 2011-04-19修改 UI方法方法 Writ
9、eGoJS 2011-04-19输出 URL 分页里 go 的 js 函数方法方法 WritePageJS 2011-04-19WritePageJS分页算法分类类型名称 最后更新 说明属性属性GetRecordCountSQL 2011-04-19生成统计记录数的 SQL 语句属 属 Page 2011-04-19一共有多少页,根据总记录数和一页性 性 的记录数自动计算属性属性PageIndex 2011-04-19当前的页号属性属性PageSize 2011-04-19一页的记录数属性属性RecordCount 2011-04-19总记录记录数属性属性SaveKey 2011-04-19读
10、取或者设置密钥.属性属性SaveLocation 2011-04-19读取或者设置保存属性的位置,可以选择不保存。属性属性SetPagerSQLKind 2011-04-19设置分页算法,必须先设置排序字段。属性属性TableName 2011-04-19表名、视图名属性属性TableOrderByColumns 2011-04-19排序字段,可以设置多个排序字段,可以设置升降序.属性属性TablePKColumn 2011-04-19表的主键字段名称属性属性TableQuery 2011-04-19查询条件属性属性TableQueryAlways 2011-04-19固定的查询条件,设置了就
11、一直有效属性属性TableShowColumns 2011-04-19显示的字段分类类型 名称 最后更新 说明方法方法 ComputePageCount 2011-04-19通过总记录数、一页的记录数计算页数方法方法 CreateSQL 2011-04-19调用函数,拼接需要的 SQL 语句方法方法 GetSQLByPageIndex 2011-04-19传入页号,返回指定页号的 SQL 语句方法构造函数QuickPagerSQL 2011-04-19初始化,设置存放属性值的位置,和密钥另外在啰唆一下,使用也是很简单的C# codepublic partial class GridView :
12、 Pageprotected DateTime dtStartTime; /页面开始时间protected DateTime dtSQLTime; /拼接 SQL 结束时间protected DateTime dtLoadDataTime; /加载数据结束时间protected DateTime dtBindDataTime; /绑定控件结束时间#region 初始化protected override void OnInit(EventArgs e)base.OnInit(e);/数据访问函数库的实例,使用基类里定义的。Pager1.DAL = dal;/设置显示数据的控件Pager1.Sh
13、owDataControl = GV;/定义 QuickPager_SQL,设置 Page 属性Pager1.PagerSQL.Page = this;/默认是 PostBack 的分页方式#endregionprotected void Page_Load(object sender, EventArgs e)if (!Page.IsPostBack)SetPagerInfo(); /设置表名、字段名等#region 给 QuickPager_SQL 设置属性,以便拼接 SQLprivate void SetPagerInfo()/表名或者视图名,必须设置Pager1.PagerSQL.Ta
14、bleName = “ Person_User_ViewLog“; /表名或者视图名称/一些分页算法必须设置主键。Pager1.PagerSQL.TablePKColumn = “LogID“; /主键名称,不支持复合主键/排序字段也是必须设置的,否则就无法准确分页Pager1.PagerSQL.TableOrderByColumns = “LogID desc “; /排序字段,根据分页算法而定,可以支持多个排序字段/默认 TableShowColumns 是 * ,可以不设置/Pager1.PagerSQL.TableShowColumns = “*“; /需要显示的字段/没有查询条件,那就不用设置了嘛。/Pager1.PagerSQL.TableQuery = “; /查询条件/默认一页 20 条记录Pager1.PageSize = 10; /一页显示的记录数/设置分页方式,默认是 Max_TopTopPager1.PagerSQL.SetPagerSQLKind = PagerSQLKind.Max_TopTop ;#endregion