版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

  • 上一页和下一页,支持绑定:按钮、图片等对象
  • 总页数,支持绑定:文本对象,会自动为该控件设置页数
  • 当前页数,支持绑定:文本对象,会自动为该控件设置页数
  • 所有记录个数,支持绑定:文本对象,会自动为该控件设置页数
  • 到第N页,支持绑定:文本对象,会自动为该控件设置页数
  • 跳转到第N页,可以输入一个数字,调用该方法跳到该页
  • 跳转到第N页,绑定若干个文本,根据当前页码和页数,自动更新这些文本,并在点击时切换到这个页面
  • 获得当前的总页数、总记录数、当前页码
  • 回调函数,可以在回调函数中返回查询SQL的结果

效果

和表格控件结合的效果:

Image RemovedImage Added

演示效果画面文件:grid.page

...

  • pkpager.bindPrevPageCtrl(buttonControlName);
    • buttonControlName,按钮等控件的名称。支持绑定:按钮、图片等对象。
      示例:如按钮名字lastPage,pkpager.bindPrevPageCtrl("lastPage");
      Image Added
  • pkpager.bindNextPageCtrl(buttonControlName);
    • buttonControlName,按钮等控件的名称。支持绑定:按钮、图片等对象。
      示例:如按钮名字nextPage,pkpager.bindNextPageCtrl("nextPage");
      Image Added
  • pkpager.bindCurrentPageCtrl(buttonControlName);
    • buttonControlName,文本控件的名称。因为会改变文本内容,因此仅支持绑定文本对象。
    • 示例:如文本名字currentPageNo,pkpager.bindCurrentPageCtrl("currentPageNo");
    • Image Added
  • pkpager.bindTotalPageCtrl(buttonControlName);

    • buttonControlName,文本控件的名称。因为会改变文本内容,因此仅支持绑定文本对象。

    • 示例:如文本名字currentPageNo,pkpager.bindTotalPageCtrl("totalPageNum");

    • Image Added
  • pkpager.bindTotalRecordCtrl(buttonControlName) 绑定总记录个数到文本对象

    • buttonControlName,文本控件的名称。因为会改变文本内容,因此仅支持绑定文本对象。

    • 示例:如文本名字currentPageNo,pkpager.bindTotalPageCtrl("totalRecordNum");

    • Image Added
  • bindGotoPageCtrls(controlNameVector)。绑定多个数字页码控件

    • controlNameVector,控件名字控件,按照从左到有顺序,输入控件名称。
    • 示例:如放5个页码控件,名字为page1...page5,则初始化时:
      • pkpager.bindGotoPageCtrls(["page1","page2", "page3","page4","page5"]);
      • Image Added
  • 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);
        });
  • setPageSize(pageSize)。设置每一页记录个数

  • getPageSize()。返回每个页的记录数
  • getPageCount()。返回总页数。

  • getCurrentPage()。返回当前页数,从1开始

  • getRecordCount()。返回所有记录总个数

  • gotoPage(pageNo).跳转到第N页

完整示例

在画面上拖放上一页、下一页按钮,名字:lastPage,nextPage

拖放当前页,总页码两个文本框,名字:currentPageNo、totalPageNum

画面onLoad脚本写入:

在画面上拖放:

  • 上一页按钮,名字:lastPageImage Added
  • 下一页按钮,名字:nextPageImage Added
  • 拖放当前页文本框,名字:currentPageNoImage Added
  • 总页码两个文本框,名字:totalPageNumImage Added
  • 拖放总条数文本框,名称:totalRecordNumImage Added
  • 拖放复合输入框,名称:combo1Image Added
  • 拖放5个文本框,名称为:page1,page2,page3,page4,page5 Image Added
  • 拖放一个表格控件,名称grid1,用于显示Image Added

画面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());

});

进入画面会显示,并可以点击上一页、下一页按钮,当前页码会跟着改变:


Image RemovedImage Added