...
- 上一页和下一页,支持绑定:按钮、图片等对象
- 总页数,支持绑定:文本对象,会自动为该控件设置页数
- 当前页数,支持绑定:文本对象,会自动为该控件设置页数
- 所有记录个数,支持绑定:文本对象,会自动为该控件设置页数
- 到第N页,支持绑定:文本对象,会自动为该控件设置页数
- 跳转到第N页,可以输入一个数字,调用该方法跳到该页
- 跳转到第N页,绑定若干个文本,根据当前页码和页数,自动更新这些文本,并在点击时切换到这个页面
- 获得当前的总页数、总记录数、当前页码
- 回调函数,可以在回调函数中返回查询SQL的结果
效果
和表格控件结合的效果:
演示效果画面文件:grid.page
...
- pkpager.bindPrevPageCtrl(buttonControlName);
buttonControlName,按钮等控件的名称。支持绑定:按钮、图片等对象。
示例:如按钮名字lastPage,pkpager.bindPrevPageCtrl("lastPage");
- pkpager.bindNextPageCtrl(buttonControlName);
buttonControlName,按钮等控件的名称。支持绑定:按钮、图片等对象。
示例:如按钮名字nextPage,pkpager.bindNextPageCtrl("nextPage");
- pkpager.bindCurrentPageCtrl(buttonControlName);
- buttonControlName,文本控件的名称。因为会改变文本内容,因此仅支持绑定文本对象。
- 示例:如文本名字currentPageNo,pkpager.bindCurrentPageCtrl("currentPageNo");
pkpager.bindTotalPageCtrl(buttonControlName);
buttonControlName,文本控件的名称。因为会改变文本内容,因此仅支持绑定文本对象。
示例:如文本名字currentPageNo,pkpager.bindTotalPageCtrl("totalPageNum");
pkpager.bindTotalRecordCtrl(buttonControlName) 绑定总记录个数到文本对象
buttonControlName,文本控件的名称。因为会改变文本内容,因此仅支持绑定文本对象。
示例:如文本名字currentPageNo,pkpager.bindTotalPageCtrl("totalRecordNum");
bindGotoPageCtrls(controlNameVector)。绑定多个数字页码控件
- controlNameVector,控件名字控件,按照从左到有顺序,输入控件名称。
- 示例:如放5个页码控件,名字为page1...page5,则初始化时:
- pkpager.bindGotoPageCtrls(["page1","page2", "page3","page4","page5"]);
- pkpager.bindGotoPageCtrls(["page1","page2", "page3","page4","page5"]);
- pkpager.queryBySQL(pkdb,sql, callback)。传输某个SQL语句进行查询,查询的页面等信息会自动更新到上述控件,同时会通过回调函数返回查询结果
- pkdb。查询数据库对象,可以是pkdb(eview自有数据库使用),也可以是pkdb2(第三方数据库时使用)
- sql。查询SQL语句
- callback。查询结果的回调函数。返回值result格式:
- result.status
- result.obj.rows
- result.obj.cols
- result.obj.msg
- 示例,在onLoad中查询信息并显示在grid表格中:
- pkpager.queryBySQL(pkdb, "select id,name,description from t_device_tag",function(result){
pkgrid.clearRows("grid1");
pkgrid.addRows("grid1", result.obj.rows);
});
- pkpager.queryBySQL(pkdb, "select id,name,description from t_device_tag",function(result){
setPageSize(pageSize)。设置每一页记录个数
getPageSize()。返回每个页的记录数
getPageCount()。返回总页数。
getCurrentPage()。返回当前页数,从1开始
getRecordCount()。返回所有记录总个数
gotoPage(pageNo).跳转到第N页
完整示例
在画面上拖放上一页、下一页按钮,名字:lastPage,nextPage
拖放当前页,总页码两个文本框,名字:currentPageNo、totalPageNum
画面onLoad脚本写入:
在画面上拖放:
- 上一页按钮,名字:lastPage
- 下一页按钮,名字:nextPage
- 拖放当前页文本框,名字:currentPageNo
- 总页码两个文本框,名字:totalPageNum
- 拖放总条数文本框,名称:totalRecordNum
- 拖放复合输入框,名称:combo1
- 拖放5个文本框,名称为:page1,page2,page3,page4,page5
- 拖放一个表格控件,名称grid1,用于显示
画面onLoad脚本写入:
pkcombobox.setOptions("combo1",[{"text":"1","value":"1"},{"text":"2","value":"2"},{"text":"3","value":"3"}]);
pkpager.bindPrevPageCtrl("lastPage");
pkpager.bindNextPageCtrl("nextPage");
pkpager.bindCurrentPageCtrl("currentPageNo");
pkpager.bindTotalPageCtrl("totalPageNum");
pkpager.bindTotalRecordCtrl("totalRecordNum");
pkpager.bindGotoPageCtrls(["page1","page2", "page3","page4","page5"]);
pkpager.setPageSize(4);
pkpager.queryBySQL(pkdb, "select id,name,description from t_device_tag",function(result){
pkgrid.clearRows("grid1");
pkgrid.addRows("grid1", result.obj.rows);
pksys.log("total record num:"+pkpager.getRecordCount());
pksys.log("currentPage:"+pkpager.getCurrentPage());
pksys.log("pageCount:"+pkpager.getPageCount());
pksys.log("getPageSize:"+pkpager.getPageSize());
pkcombobox.setValue("combo1",pkpager.getCurrentPage());
});
进入画面会显示,并可以点击上一页、下一页按钮,当前页码会跟着改变: