2012-03-13 2 views
2

私は特定のレコードとその上にテキストフィールドを持つグリッドを持っています。テキストフィールドはグリッドに接続され、キーアップイベントが発生するたびに、ユーザが入力した文字を含むレコードのみを表示するためにフィルタ関数に移ります。問題は、現在のところ、レコード文字列名の開始文字ですが、idのように、レコード文字列名のどこにでも入力された文字を含むすべてのレコードをフィルタリングすることができます。Ext JSでパターンを検索しています

スクリーンショット: - 最初の画像レコードを示す http://imgur.com/a/qvIHO

iが「C」を入力したとき、第二フィルタリングされた結果を示し、第iが「P」で押したとき、それはいずれかを返さないことを示しています私はそれに両方の 'p'が含まれているので、結果として "GPL製品"と "報告期間"を返すようにしたい。

ここでは、コードです: -

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

1

私は上記のこれらの答えが古いであることを知っているが、多分誰かを助けることができます。

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

+0

素敵な仕事..... –

関連する問題