2012-03-13 46 views
2

我有一個網格,上面有一些記錄和一個文本域。文本字段與網格相連,每次發生鍵盤事件時都會轉到過濾器函數,以便只顯示包含用戶鍵入的字符的記錄。問題是,現在它只能從記錄字符串名稱的起始字符,但是像它可以過濾記錄字符串名稱中任何位置包含字符類型的所有記錄。在Ext中搜索模式JS

截圖: - http://imgur.com/a/qvIHO

第一個圖像顯示的記錄,第二顯示過濾的結果,當我在「c」的輸入時,第三顯示,當我按下在「P」它不返回任何結果但我希望它返回「GPL產品」和「報告期」,因爲它們都包含「p」。

下面的代碼: -

onDimensionFilterTextBoxKeyUp: function (filterTxtBox, evntObj, eOpts) { 
    var dimStore = this.getDimensionStoreStore(); 
    //get new value 
    var searchValue = filterTxtBox.getValue(); 
    //var regex = /searchValue*/; 
    //clear previous search value 
    dimStore.clearFilter(); 
    if (!Ext.isEmpty(searchValue)) { 
     //load filtered data 
     dimStore.filter('DimensionName', searchValue); 
    } 
    } 

我嘗試創建使用正則表達式模式/ searchValue * /,但使用的是剛剛打破了過濾器,它不返回即使一個結果。

回答

3

試試這個:

re = new RegExp(searchValue, ignoreCase ? 'i' : ''); 
store.filter(field, re); 
1

您只需指定不區分大小寫的搜索。

dimStore.filter('DimensionName', searchValue, true, false); 
+0

我試過了,仍然是同樣的問題。 – Armaan 2012-03-13 15:08:35

1

我知道,以上這些問題的答案都老了,但也許可以幫助別人。

store.filter({ anyMatch: true, exactMatch: false, property: valor_property, value: valor });

+0

不錯的工作..... – 2014-05-06 12:40:59