在 Ext 的 GridPanel 开发过程中,一个常见需求是:数据加载完毕后自动选中若干行。例如,希望页面打开时就能高亮显示特定记录。此时若直接调用选择方法通常无效,因为数据尚未加载完成。正确的做法是监听 store 的 load 事件,在回调函数中执行选中操作。
以下是一段简洁的示例代码,仔细阅读即可掌握:
复制代码 代码如下:
this.store.on("load", function(store) {
this.getSelectionModel().selectRows(idxs);
}, this);
代码中的 this 指向当前 GridPanel 实例,而 idxs 则是需要选中的行号数组。将这段逻辑挂载到 store 的 load 事件上,可以确保所有数据渲染完成后才触发选中,从而避免“选中无效”的 bug。
