ここで検索しても、答えが見つからないようです。
SlickGrid でかなり複雑なグリッドをセットアップします。
検索機能はカスタム ツールバーにあります。グリッド関数への呼び出しを配線します。
例えば:
[HTML]
<input name='name' id='id' class='searchable'>
[JS]
$('.searchable').on('change' , function() {
var searchTerm = {};
searchTerm[$(this).attr('name')] = $(this).val();
dataview.setFilterArgs(searchTerm);
dataview.refresh();
});
そして、引数がカスタムフィルターに渡されるのを見ることができます
var customFilter = function(item, args) {
***$.each(args , function(key , val) {
if (val!=='' && val!==null) {
return (item[key] == val);
}
});***
return true;
}
[!] 問題は、 $.each の中にいるときです。「戻る」とループをスキップするだけです。しかし、関数の外には何も戻りません。
しかし、グリッドでは何も起こりません。何もフィルタリングされません
これが私のセットアップです
dataview = new Slick.Data.DataView();
grid = new Slick.Grid(grid_id , dataview , columns , options);
grid.selectionModel(new Slick.RowSelectionModel());
grid.init();
dataview.beginUpdate();
dataview.setItems(gridData);
dataview.setFilter(customFilter);
dataview.endUpdate();
私は github の 2 つのフィルターの例に従っています。でもこれ以外に違いが見えない
でデータビューを初期化すると
dataview = new Slick.Data.DataView({inlineFilters: true});
エラーが発生します:
キャッチされていない SyntaxError: 未定義のラベル '_coreloop' (slick.dataview.js 行: 639)
コードを読んでみますが、コメントがありません...そのため、何が問題なのか本当にわかりません。
誰かが同様の問題を抱えていますか?