1

ここで検索しても、答えが見つからないようです。

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)

コードを読んでみますが、コメントがありません...そのため、何が問題なのか本当にわかりません。

誰かが同様の問題を抱えていますか?

4

1 に答える 1