|

楼主 |
发表于 2016-11-30 12:01:39
|
显示全部楼层
我通过下面CustomRefresh实现取数据。
Model.prototype.data1CustomRefresh = function(event){
event.async = false;
var self = window;
var db = self.demoDB.getDatabase();
var data = event.source;
//debugger;
var append = event.options && event.options.append; // 是否数据追加模式
var limit = event.limit; // 分页行数
var offset = event.offset; // 分页偏移
// 执行SQL查询
msql = "SELECT * FROM APPDATA ";
SqliteUtil.executeSql(db, msql " LIMIT ? OFFSET ? ", [ limit, offset ], onSuccess, onError);
function onSuccess(res) {
//debugger;
//转换返回数据结果
var table = SqliteUtil.rowsToTable(res.rows);
if (offset === 0) {
// 如果偏移为零则表明加载第一页,需要在Table中提供总行数,用于分页计算
SqliteUtil.executeSql(db, "SELECT COUNT(*) cnt FROM APPDATA " + " WHERE " + mwhere, [], function(res) {
SqliteUtil.setTableTotal(table, res.rows.item(0).cnt); //此处返回记录总数,方便分页
doRefreshData();
});
} else {
doRefreshData();
}
function doRefreshData() {
data.loadData(table, append);
// 异步执行模式下,加载数据后必须执行doRefreshAfter
data.doRefreshAfter(true, event.options);
}
}
function onError(msg) {
data.doRefreshAfter(false, event.options);
}
上一页使用下面代码
this.page = this.page - 1;
debugger;
this.comp('data1').loadPageData(this.page);
this.comp('data1').last();
也是不对啊 |
|