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

如何在gridview中跟踪extjs中是否应用了过滤器?,gridview,extjs,extjs3,Gridview,Extjs,Extjs3,我的任务是在extjs网格列标题中应用过滤器时,将一个图像放在该列标题上。清除过滤器后,从网格列标题中删除图像 如何在extjs 3中实现这一点?在extjs 3.4中,当筛选器在列上处于活动状态时。ux filtered column类被添加到标题单元格中。最简单的方法是为此类添加自定义样式。GridView引用了它所使用的网格。因此,您可以使用this.grid.store.isFiltered()检查存储是否已过滤 您可能希望在绑定到网格存储的datachanged事件的侦听器函数中执行这

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


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

在extjs 3.4中,当筛选器在列
上处于活动状态时。ux filtered column
类被添加到标题单元格中。最简单的方法是为此类添加自定义样式。

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
    }
}

ux过滤列的自定义样式效果良好。
但是,.ux筛选列如果是分组标题网格,则不会添加到标题单元格中

我也遇到了同样的问题。.ux筛选列无效。但在这一点上,我添加了背景图像,这最终起到了作用。

但我该如何为哪些列应用筛选?这是答案,与问题无关@JackAss获取列的正确方法是
this.grid.filters.getMenuFilter()
。我知道这是真的很晚了,但我写这封信是因为如果有人在将来正确地使用了它。我在这里回答了一个类似的问题。