如何重置ExtJS中网格的筛选器,更具体地说,如何使标题栏遵循对筛选的更改。
即:这样可以正常工作:
grid.store.clearFilter();
但是标题的渲染全部出错了。我需要进入所有菜单对象并取消选择复选框。
我有些迷失了。我相当确定这会给我filterItems:
var filterItems = grid.filters.filters.items;
从这些筛选项中,可以按如下方式获取菜单项:
var menuItems = filter.menu.items;
但这是我能做到的最好了。我期望菜单项内有一种复选框对象,然后我可以取消选中该复选框,希望标题渲染会随之改变。
更新:
现在我有了这段代码。网格存储已清除其过滤器。接下来,我从grid.filters.filters.items获取filterItems并对它们进行迭代。然后我对每个菜单项调用一个函数。
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);
});
}
复选框确实被调用了,但仍然没有任何变化 :(