2011-07-25 24 views
7

Filtreleri kullanan bir ızgara üzerinde çalışıyorum ancak yalnızca ilk sayfayı filtreliyor. 'İleri'yi tıkladığımda, filtrelerimi unutup bir sonraki kayıt kümesini yükler. Sonraki kayıt kümesini sayfalamadan yüklemek için 'ileri' tıklasam bile filtreyi hatırlatmayı nasıl sağlayabilirim?ExtJS disk belleği yalnızca ilk sayfayı filtreler

sayesinde SS

cevap

6

Sen mağaza en baseParams içine filtre parametrelerini ayarlamak gerekir. Filtre parametrelerinizi mağazadaki load numaralı çağrıya aktararak, yalnızca ilk yükleme çağrısı için kullanacaksınız. — çağrı araç çubuğu tarafından yapılan sonraki çağrılar bunları iletmeyecektir.

store.setBaseParam('query', 'search-text'); // always send 'query' 
store.load({ params: { start: 0, limit: 40 } }); 
// this will send: 
// { query: 'search-text', start: 0, limit: 40 } 

store.load({ params: { query: 'bob', start: 41, limit: 40 } }); 
// baseParams overridden by load params 
// { query: 'bob', start: 41, limit: 40 } 

store.load(); // only sends baseParams 
// { query: 'search-text' } 

ExtJS Ext.data.Storedocs ayrıntılara sahip.

+0

Awesome, Teşekkürler WES Bunu deneyeceğim ve size bildireceğim. –

-1

yukarıdaki cevap gibi baseParams, ayarlama, sadece extjs 3.x veya daha az içindir. store.getProxy().extraParam= A JSON ENCODED QUERY gibi: extjs 4.xx için, talebinizle ilgili, mağazanın vekaleten bir extraParam eklemelisiniz Navigatörünüz geliştiricinin araçlarında veya arka uç, isteğinizi araştırmak, uygun bir yapılandırma için store.getProxy().extraParam= Ext.JSON.encode({'sort':[{'id':'ASC'}]})