我看过其他类似问题的答案,但我无法找到任何有效的解决方案。例如,一种解决方案是对网格中的记录进行计数,然后循环调用每条记录的 expandRow(rowNumber)。但是,我在ExtJs 4.2中使用的rowexpander没有这个功能。
最佳答案
我想出了一个解决方案:
expandAll: function (expand) {
expand = typeof expand !== 'undefined' ? expand : true;
var grid = this,
store = grid.getStore(),
rowExpander = grid.plugins[0],
nodes = rowExpander.view.getNodes();
for (var i = 0; i < nodes.length; i++) {
var node = Ext.fly(nodes[i]);
if (node.hasCls(rowExpander.rowCollapsedCls) === expand) {
rowExpander.toggleRow(i, store.getAt(i));
}
}
},
我猜测插件的选择不是这样做的正确方法,但我不知道正确的方法。
关于javascript - 如何使用 ExtJs rowexpander 展开或折叠所有行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21787640/