2013-07-08 7 views
6

Używam listy dotykowej Sencha (xtype: list) w moich aplikacjach z wtyczką listPaging. Działa jak urok tworzenia nieskończonego efektu, ustawiając autopaging: true.Stronicowanie listy dotykowej Sencha: limit liczby rekordów sklepu

ALE, moje pytanie brzmi: jak zachować zapisy w magazynie (lub wierszach na liście) tylko w pewnej liczbie, na przykład 50 rekordów.

Tak więc, gdy użytkownik przewija się w dół, automatycznie ładuje następną stronę, usuwając poprzednią (bieżącą) stronę i przewijając w górę, ładuje poprzednią stronę.

celem jest ograniczenie liczby rekordów sklepu, ponieważ jeśli jest on załadowany wszystkie (przez przewijanie w dół), powoduje awarię urządzenia (testowane na iPadzie).

To ma sens, mam 40k rekordów na db.

+0

Znalazłeś rozwiązanie? – Hunt

+0

Myślę, że wtyczka listPaging nie pomoże w tym przypadku. Musisz rozszerzyć jego funkcjonalność, aby mieć etykiety dolne i ** najlepsze ** "ładuj więcej" i procedury obsługi, ponieważ jeśli usuniesz niektóre dane podczas przewijania w dół, po rozpoczęciu przewijania musisz je ponownie załadować. – pckill

+0

Polowanie, nie, jeszcze nie ma rozwiązania. @pckill, próbowałem zbudować wtyczkę na podstawie listPaging, ale rzeczy zawiodły. błąd wszędzie. – Lee

Odpowiedz

2

Wczoraj pracowałem nad czymś takim, ale tylko z następną funkcjonalnością.

Można zastąpić metodę, która ładuje nową stronę w locie. Jest to loadNextPage() i dodaj store.removeAll() przed zażądaniem następnej strony.

W swojej listy:

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 }); 
      } 
     } 
    } 
] 

To jest tylko dla Następny, to może być trochę bardziej skomplikowane dla poprzedniego ale może to może dać wyobrażenie. Prawdopodobnie dodanie kolejnego cmp na szczycie listy, które pożary store.previousPage()

Hope it helps-

Powiązane problemy