0

次のようにグリッドを初期化した後、各列のヘッダーにフィルターアイコンを追加したデータのグリッドがあります。

function selectHeaderIcon(searchActive){
        if (searchActive) {
            return "ui-icon-zoomin";
        } else {
            return "ui-icon-search";
        }
    }

function updateColumnHeader(searchActive){
        self.grid.updateColumnHeader(column.id, name + '<span class="ui-icon '+selectHeaderIcon(searchActive)+' slick-resizable-handle searchLink  ' + columnCss + '" ></span>', 'Search');
    }

グリッドでの列の並べ替えも有効にしました。ただし、列を並べ替えると、検索アイコンが消えます。手動でテキストを追加して列名を変更したり、HTMLにランダムな新しいスパンを追加したりして、Chromeデバッガーでさらにテストを行いました。列を並べ替えた後、両方の変更が消えました。SlickGridは、表示されているものを使用して並べ替えを行う代わりに、列ヘッダーの別のコピーをどこかに保存していますか?もしそうなら、なぜですか?この問題を回避するにはどうすればよいですか?

4

1 に答える 1

0

次のようなonColumnsReorderedイベントをサブスクライブする必要があるようです。

GridName.onColumnsReordered.subscribe(function(e, args) {
    updateColumnHeader(searchActive);
});
于 2012-02-01T19:34:08.927 に答える