我有一個ExtJs組合框。它的商店使用JSON加載(使用下面的MyStore類)。我想將所有值加載到商店,然後使用組合文本字段中輸入的文本進行過濾(最好使用typeAhead功能)。在ExtJs中本地過濾comboxes遠程存儲
問題是我想在客戶端進行過濾(默認情況下,組合模式屬性爲'remote')。我不希望我的組合在每次輸入內容時重新加載它的商店。 我該怎麼做?
謝謝。
這裏是我的店鋪等級:
MyStore = Ext.extend(Ext.data.JsonStore, {
constructor: function(jsonUrl, storeId, id, description, isAutoLoad, cfg) {
cfg = cfg || {};
GenericStore.superclass.constructor.call(this, Ext.apply({
storeId: storeId,
root: 'result',
url: jsonUrl,
autoLoad: isAutoLoad,
fields: [
{
name: id
},
{
name: description
}
]
}, cfg));
}
});
而且連擊:
xtype: 'combo',
fieldLabel: 'The Combo',
width: 150,
store: myStoreData,
valueField: 'id',
displayField: 'name',
minChars : 0,
editable : false,
itemId : 'my-combo'
是,組合調用這個方法在其doQuery方法。你的意思是我應該重寫這個方法嗎?如果是這樣,怎麼樣?謝謝 – 2011-01-24 14:34:33
初始數據集是靜態的嗎?你*可以*輸出這個json文件,可以用來填充你的本地數據存儲。然後,您可以嘗試使用mode:local選項....從那裏您可以使用對組合框使用的存儲的引用來執行filter()方法。請參閱Gajahlemu的代碼...您嘗試執行的操作有很多好的設置。 – 2011-01-25 23:02:06