猫框控件上新-qiyu_pagination分页控件
控件长这样。
里面主要的控制属性有三个
属性名 | 默认值 | 说明 |
---|---|---|
pageno | 1 | 页码,数值型 |
pagesize | 50 | 每页行数,数值型 |
totalpage | 0 | 后端返回总页数 |
使用方法也非常简单
拖入猫框表单,拖入表单和分页控件
表单添加属性totalpage默认值0,添加方法getlist
表单的load事件
表单的getlist 方法
Lparameters isnew,IsLoad
*-isnew 是否重置页码为1,isload是否是LOAD事件加载
Local nPageNo,nPageSize
If isnew And !IsLoad
Thisform.qiyu_pagination1.PageNo=1
Endif
If !IsLoad
nPageNo= Thisform.qiyu_pagination1.PageNo
nPageSize=Thisform.qiyu_pagination1.pageSize
Thisform.qiyu_grid_sort1.RecordSource=.Null.
Else
nPageNo=1
nPageSize=50 &&LOAD 事件加载默认50
Endif
oDBSQLHelper=Newobject("MSSQLHelper","MSSQLHelper.prg")
If oDBSQLHelper.SQLSelectPage("lswlzd","",nPageNo,nPageSize,"lswlzd")<0
Messagebox(oDBSQLHelper.errmsg)
Return .F.
Endif
Thisform.totalpage=Ceiling(oDBSQLHelper.nTotal/nPageSize) &&存放 LOAD 取得的总记录数
If !IsLoad
Thisform.qiyu_grid_sort1.RecordSource="lswlzd"
Thisform.qiyu_pagination1.totalpage=Ceiling(oDBSQLHelper.nTotal/nPageSize)
Endif
表单的init方法,取得总页码并赋值给分页控件。
DoDefault()
Thisform.qiyu_pagination1.totalpage=Thisform.totalpage
代码量是不是极少?运行看看。
每页只返回50行,也可以通过分页控件来控制每页返回行数。
这个控件不依赖数据库,无论是CS模式,还是中间层模式都是可以使用的。
我见过有些人写的控件,耦合特别严重,分离都分离不出来。
另外很多狐友搞不清楚什么是架构,什么是模式
祺佑三层架构是指代码逻辑分层,实际上它们是在一个项目中的。
中间层模式,就是指另外发布一个中间层服务器,通过它来访问数据库,也就不是CS模式了。(不同项目了)