extjs - 如何重置 Extjs Grids 中的所有过滤器?

标签 extjs

如何在网格中重置 ExtJS 过滤器。更具体地说,我如何获取标题以兑现对过滤的更改。

IE。这工作正常:

grid.store.clearFilter();

但是标题渲染都是错误的。我需要进入所有菜单对象并取消选中复选框。

我越来越迷失了。我很确定这给了我 filterItems :
var filterItems = grid.filters.filters.items;

从这些过滤器项中的每一个,我都可以访问菜单项,如下所示:
var menuItems = filter.menu.items;

但这是我所能得到的。我期待菜单项内有某种复选框对象,然后我可以取消选中该复选框,希望标题呈现会发生变化。

更新:

我现在有这个代码。网格存储已清除其过滤器。接下来我从 获取 filterItems grid.filters.filters.items 并迭代它们。然后我在每个菜单项上调用一个函数。
    grid.store.clearFilter();

    var filterItems = grid.filters.filters.items;

    for (var i = 0; i<filterItems.length; i++){

        var filter = filterItems[i];

        filter.menu.items.each(function(checkbox) {

            if (checkbox.setChecked)
                checkbox.setChecked(false, true);
        });
    }

复选框确实被调用,但仍然没有发生任何事情:(

最佳答案

试试这个代码:

grid.filters.clearFilters();

这应该兼顾网格及其底层存储。

当你做
 grid.store.clearFilter();

它只能清除商店上的过滤器,但网格的 View 不会随着该调用而更新。因此,要为网格的 View 和网格的存储自动处理它,只需使用
grid.filters.clearFilters();

希望能帮助到你!

干杯!

关于extjs - 如何重置 Extjs Grids 中的所有过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24614012/

相关文章:

extjs - Date Format In Extjs 3.4 不渲染显示

javascript - 如何在父ExtJs(Sencha)中执行子方法

javascript - ExtJS 中 Controller 的职责是什么? Ext.window.Window 实例中的事件?

javascript - 在按钮上设置透明背景在 IE9 中不起作用

extjs - 向图像添加工具提示

css - 停止 ExtJs 样式元素

javascript - ExtJS4 - 表单提交按钮周围出现的轮廓

javascript - 如何动态更改 ExtJS 中的组件可见性

javascript - 选项卡上的光标 - Javascript - 立即字段

javascript - HTML5 视频作为 Sench Touch iOS 应用程序的启动画面