ExtJs分组中的clearfilter后如何获取特定组的所有记录
Posted
技术标签:
【中文标题】ExtJs分组中的clearfilter后如何获取特定组的所有记录【英文标题】:How to Get All records of a particular Group after clearfilter in ExtJs grouping 【发布时间】:2013-09-26 14:07:33 【问题描述】:我正在加载商店并在商店中过滤。所以所有过滤的数据都在每个组下。现在,当我在特定组上单击时,我想清除该特定组的过滤器,以便我可以获取该组下的所有记录。
默认值:使用 store.filter(somecondition) 对网格进行后渲染。所有组均已展开
想要折叠任何组,当我再次展开时,我想显示该组下的所有记录。
感谢您的帮助!!
【问题讨论】:
现在我尝试在商店中使用过滤器。在 GroupClick 上使用了 clearfilter。所以所有组都显示了所有记录然后再次应用基于 GroupName 和 Previous 过滤器的过滤器。但这不是最好的解决方案 一些示例代码会很有帮助。 【参考方案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; );
是正确的方法。以上是关于ExtJs分组中的clearfilter后如何获取特定组的所有记录的主要内容,如果未能解决你的问题,请参考以下文章