|
楼主 |
发表于 2016-2-21 22:30:13
|
显示全部楼层
刚刚仔细看了代码:发现上面有testDataCustomRefresh,这个对testData进行控制,也即是说我的语句不起作用,怎么办呢?
以下是testDataCustomRefresh的DEMO上的代码
Model.prototype.testDataCustomRefresh = function(event) {
// 标记当前刷新是异步执行的
event.async = true;
var db = this.demoDB.getDatabase();
var data = event.source;
var append = event.options && event.options.append; // 是否数据追加模式
var limit = event.limit; // 分页行数
var offset = event.offset; // 分页偏移
// 执行SQL查询
SqliteUtil.executeSql(db, "SELECT * FROM demo_test LIMIT ? OFFSET ? ", [ limit, offset ], onSuccess, onError);
function onSuccess(res) {
// 转换返回数据结果
var table = SqliteUtil.rowsToTable(res.rows);
if (offset == 0) {
// 如果偏移为零则表明加载第一页,需要在Table中提供总行数,用于分页计算
SqliteUtil.executeSql(db, "SELECT COUNT(*) cnt FROM demo_test ", [], 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);
}
}; |
|