在 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);
}
});
}