我的任务是在该列中应用过滤器时将图像放在 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-filtered-column 的自定义样式效果很好。但是,如果 .ux-filtered-column是分组的标题单元格,则不会将其添加到标题单元格中。
我遇到了同样的问题。 .ux-filtered-column 无效。但是我添加了背景图像,最终奏效了。