在ExtJS 4.2.x中,我有一个分组网格。当我重新加载数据时,我尝试重新选择之前选择的行。但如果有多个组,我也会崩溃所有组。所以,现在我有一个选定的行,但它被隐藏,因为该组已折叠。我想扩展该行所在的组。
如何找到所选行所属的组?
我想避免使用CSS类来确定父组的任何解决方案,因为这些在ExtJS主要版本上会发生变化。
编辑: 我没有对此进行测试,因为我发现其他开发人员改变了其他内容并且我的问题不再存在。但作为一项智力活动......这似乎是一个不错的解决方案。许多记录可能表现不佳。并且使用forEach,一旦找到正确的组,就没有办法使检查短路。
那里有更好的(性能更好的)解决方案吗?
// where this = store
if (this.isGrouped()) {
var groups = this.getGroups();
Ext.Array.forEach(groups, function (item, index, allGroups) {
if (Ext.Array.contains(item.children, record)) {
grid.getFeature('grouping').expand(item.name);
}
});
}
答案 0 :(得分:0)
您尝试使用Ext.ComponentQuery了吗?这取决于组件的xtype
属性。这比依赖CSS选择器要好得多,而且它也更强大,因为它利用了Ext组件架构。
我不能给你代码,我还在学习extjs。
答案 1 :(得分:0)
使用组字段数据来扩展组。我有一个按字段年份分组的商店。
// where this = store
// node = selected row in data store
// my group field is year
if (this.isGrouped()) {
var group = psGrid.getView().getFeature('grouping');
group.expand(node.data.year);
}