如何在gridview中跟踪是否在extjs中应用了过滤器?

时间:2012-12-06 07:42:49

标签: gridview extjs extjs3

我的任务是在该列中应用过滤器时将图像放在extjs网格列标题上。清除过滤器后,从网格列标题中删除图像。

如何在extjs 3中实现这一点?

4 个答案:

答案 0 :(得分:1)

在ExtJS 3.4中,当列.ux-filtered-column上的过滤器处于活动状态时,会将类添加到标题单元格中。最简单的方法是为此类添加自定义样式。

答案 1 :(得分: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
    }
}

答案 2 :(得分:0)

类.ux-filtered-column的自定义样式效果很好。 但是, .ux-filtered-column 如果是分组标题网格,则不会添加到标题单元格中。

答案 3 :(得分:0)

我有同样的问题。.ux-filtered-column无效。但是我添加了背景图片,最终有效。