2013-07-08 14 views
6

私のアプリケーションでSencha Touch List(xtype: list)をlistPagingプラグインと使用しています。 autopaging: trueを設定すると、無限の効果を生み出すのに魅力的なように機能します。Sencha Touch List Paging:店舗のレコード数を制限する

しかし、私の質問は、ストアのレコード(またはリストの行)をいくつかの番号のみ(たとえば50レコード)にする方法です。

ユーザーがスクロールすると、前の(現在の)ページを削除しながら自動的に次のページを読み込み、上にスクロールすると、前のページを読み込みます。

目的は、ストアされているすべての(スクロールダウンして)ロードすると、(Ipadでテストされた)デバイスをクラッシュさせるため、ストアのレコード数を制限することです。

それは意味があります、私はdbに40kのレコードを持っています。

+0

をhelps-ホープ発射リストの一番上に別のCMPを追加し、あなたが解決策を見つけたことがありますか? – Hunt

+0

私はlistPagingプラグインがこの場合あなたを助けないと思います。スクロールダウン中にいくつかのデータをパージすると、スクロールアップを開始するときにそのデータをロードする必要があるため、その機能を拡張して**トップレベルの**ラベルとハンドラーを追加する必要があります。 – pckill

+0

ハント、いいえ、解決策はまだありません。 @pckill、私はlistPagingに基づいてプラグインを構築しようとしましたが、物事が乱れました。どこでもエラー。 – Lee

答えて

2

昨日私はこのようなことに取り組んでいましたが、次の機能のみで作業していました。

新しいページをオンザフライで読み込むメソッドをオーバーライドすることができます。 loadNextPage()であり、次のページを要求する前にstore.removeAll()を追加します。あなたのリストで

plugins: [ 
    { 
     type: 'listpaging', 
     autoPaging: true, 
     noMoreRecordsText: null, 
     loadMoreText: null, 
     loadNextPage: function() { 
      var me = this; 
      if (!me.storeFullyLoaded()) { 
       me.getList().getStore().removeAll(); 
       me.getList().setMasked(true); 
       me.getList().getStore().nextPage({ addRecords: true }); 
      } 
     } 
    } 
] 

これだけのためであるが、それはもう少し複雑以前のためかもしれないが、多分これはアイデアを与えることができます。おそらくstore.previousPage()

はそれが

関連する問題