Sencha Touch中的本地数组数据的ListPagination

时间:2013-08-21 18:18:03

标签: sencha-touch sencha-touch-2

我从PhoneGap获取联系人数据并显示在Sencha Touch列表视图中。我正在使用ListPagination插件在滚动条到达时加载数据。

但问题是ListPagination仅适用于远程数据,因此pageSize属性适用于该情况。

但是我在这里将PhoneGap的数据存储到一个数组中并使用它加载它 Ext.getStore('ContactStore').setData(arr)

那么Sencha Touch有什么方法可以使用ListPagination在本地执行分页吗?

2 个答案:

答案 0 :(得分:0)

尝试覆盖商店的load方法,仅使用整个数组的子集调用其setData()

在派生商店类中:

Ext.define('App.store.XXX', {
    extend: 'Ext.data.Store',
    config: {
        storeId: 'xxx',
        mypage: 0,              // use this as 'cursor' in your array
        pageSize: 10,              
        model: 'App.model.XXX',
        ...
    },
    load: function() {
        this.mypage += 1;
        // maybe add some sanity check on array dimension
        this.setData(Ext.Array.slice(arr, 0, this.mypage*this.getPageSize()));
    }
});

我没有测试上面的代码。把它作为解决方案的“想法”。

答案 1 :(得分:0)

我找到了一个从Sencha Touch 2.4中的数组中获取分页列表的解决方案。 诀窍是挂钩beforeload - 商店的事件,并从数组中设置数据的和平。

在这里您可以找到代码:http://www.soft4tec.de/development/sencha-touch/list-paging-with-array-store.html