2

私の仕事は、フィルターがその列に適用されるたびに、extjs グリッドの列ヘッダーに画像を配置することです。フィルターがクリアされると、グリッド列ヘッダーから画像が削除されます。

extjs 3でこれを達成する方法は?

4

4 に答える 4

1

ExtJS 3.4 では、フィルターが列.ux-filtered-columnクラスでアクティブな場合、ヘッダー セルに追加されます。最も簡単な方法は、このクラスにカスタム スタイルを追加することです。

于 2012-12-06T13:11:24.753 に答える
0

GridView には、使用されているグリッドへの参照があります。this.grid.store.isFiltered()したがって、ストアがフィルタリングされているかどうかを確認するために使用できます。

datachangedおそらく、グリッドのストアのイベントにバインドするリスナー関数でそのようなチェックを実行する必要があります。

initComponent: function() {
     ...
     this.grid.store.on('datachanged', this.yourDesiredFunction, this);
     ...
}

yourDesiredFunction: function(store) {
    if (store.isFiltered()) {
        // do your stuff
    }
}
于 2012-12-09T13:56:12.790 に答える
0

クラス .ux-filtered-column のカスタム スタイルはうまく機能します。ただし、ヘッダー グリッドがグループ化されている場合、 .ux-filtered-columnはヘッダー セルに追加されません。

于 2013-02-27T06:48:10.713 に答える