【问题标题】:How to Get All records of a particular Group after clearfilter in ExtJs groupingExtJs分组中的clearfilter后如何获取特定组的所有记录
【发布时间】:2013-09-26 14:07:33
【问题描述】:

我正在加载商店并在商店中过滤。所以所有过滤的数据都在每个组下。现在,当我在特定组上单击时,我想清除该特定组的过滤器,以便我可以获取该组下的所有记录。

默认值:使用 store.filter(somecondition) 对网格进行后渲染。所有组均已展开

想要折叠任何组,当我再次展开时,我想显示该组下的所有记录。

感谢您的帮助!!

【问题讨论】:

  • 现在我尝试在商店中使用过滤器。在 GroupClick 上使用了 clearfilter。所以所有组都显示了所有记录然后再次应用基于 GroupName 和 Previous 过滤器的过滤器。但这不是最好的解决方案
  • 一些示例代码会很有帮助。

标签: extjs4 extjs4.1 extjs-grid


【解决方案1】:

假设您可以将您的群组名称绑定到您商店的过滤器,您可以简单地监听 groupexpand 事件 (http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.grid.feature.Grouping-event-groupexpand) 并对您的商店采取行动,即

function onGroupExpand( view, node, group, eOpts ) {
    store.clearFilter(true);
    store.filter( newCondition without group );
}

【讨论】:

  • mystore.filterBy(function (record) { if(record.get('id')>10){ return record; } });这是正确的方法吗?
  • 来自文档:“将为此 Store 中的每个 Record 调用指定的函数。如果函数返回 true,则包含 Record,否则将被过滤掉。”所以:mystore.filterBy(function(record) { if(record.get('id')>10) {return true; } }); 是正确的方法。
猜你喜欢
  • 2013-09-10
  • 1970-01-01
  • 2018-12-18
  • 2017-02-24
  • 1970-01-01
  • 2011-01-02
  • 1970-01-01
  • 1970-01-01
  • 2021-07-22
相关资源
最近更新 更多