|
楼主 |
发表于 2017-7-3 17:44:37
|
显示全部楼层
看对话框后面的列表,列表是绑定data显示的数据,列表是显示了最新的数据的,说明data是请求了最新数据的啊,data的数据请求写在onCustomRefresh事件中
Model.prototype.purchaseDataCustomRefresh = function(event){
// 标记当前刷新是异步执行的
event.async = true;
var db = this.gapDB.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 '批次:'||purchase_task_code||', 数量:'||sum(quantity)||'吨, '||case when is_finish=1 then '已结束, ' else '未结束, ' end||case when is_upload=1 then '已上传' else '未上传' end as purchase_record,purchase_id,purchase_task_code,is_finish,purchase_date FROM gap_purchase_task group by purchase_task_code order by substr(purchase_task_code,4,12) desc 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 gap_purchase_task ", [], 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);
data.refreshData(append);
}
}
function onError(msg) {
data.doRefreshAfter(false, event.options);
}
};
|
|