FiltersFeature.jsプラグインを使用してグリッドパネルを正常に設定しました。私は私の列ヘッダーメニュー項目のフィルタオプションを見ることができます。私は文字列、リスト、日付範囲の種類を使用しており、リモートではなくローカルでのみフィルタリングしています。フィルタグリッド外のチェックボックス/ボタンを使用して「OR」ロジックを使用して1列の複数のフィルタをフィーチャする
現象は、期待どおりに動作します。
filters: [{
type: 'list',
dataIndex: 'status',
options: ['New', 'Waiting', 'Reopened','Working']
}]
正しくオプションのプロパティの各項目のチェックボックスのリストをレンダリングする:例えば、私は(設定、いない列を経由して)構成されたフィルタの持つ「状態」の欄があります。リストから「New」と「Working」の両方を選択すると、グリッドがフィルタリングされ、「New」または「Working」のステータスに一致するレコードが表示されます。
さて、私はプログラム的のようなものを使用してフィルタを追加する場合:
tasksGrid.filters.addFilters([{type: 'string', dataIndex: 'status', value: 'New'}]);
tasksGrid.store.load();
それは「新」のマッチング状態にすべてのグリッドレコードをフィルタリングするために動作します。
問題は、 "AND"検索ではなく "OR"検索と同じビルトイン動作を得るために、複数のパラメータをaddFiltersメソッドに追加する方法を見つけることができないことです。ヘッダメニュー選択を使用して、私はgetFilterData()メソッドを介しfilterDataを見ることができる単一の列に複数のフィルタを適用
である:
[Object
data: Object
type: "list"
value: Array[2]
0: "New"
1: "Waiting"
length: 2
__proto__: Array[0]
__proto__: Object
field: "status"
__proto__: Object
値は2つの値の配列として設定されている
。私のような何かをしようとすると、しかし、私は私が試したので、私は、文字列の種類を使用するので、それが値を連結さ考え出し
[Object
data: Object
type: "string"
value: "New,Waiting"
__proto__: Object
field: "status"
__proto__: Object
:
tasksGrid.filters.addFilters([{type: 'string', dataIndex: 'status', value: ['New','Waiting']}]);
を私はfilterDataのための次のような結果を得ますフィルタ設定で定義されている「list」のタイプで、次のエラーが表示されます。
Uncaught TypeError: Cannot call method 'on' of undefined ... ListMenu.js:83
ご協力いただけると助かります。
おかげで、
セス