我目前正在处理一个消息框,当您点击消息(网格中显示的列表)时,该消息将显示在Panel中。
这方面的工作正常,但是当Grid首次加载时,我想自动将Grid中的第一项加载到Panel中。
我对如何处理这个问题的想法是从网格中选择第一个项目,然后点击“点击”按钮。就此而言。
到目前为止,我还没有找到一种从网格中选择第一项的方法。
我正在使用ExtJS 4.2.4
在我的控制器中,我有以下内容:
init: function(){
this.control({
afterrender: this.setupGrid
});
},
setupGrid: function(grid)
{
grid.getStore().load();
//console.log(grid.getSelectionModel().select(0)); // Uncaught TypeError: Cannot read property 'id' of undefined.
//console.log(this.grid.getSelectionModel().selectFirstRow()); // Uncaught TypeError: Cannot read property 'getSelectionModel' of undefined
}
我已经尝试了,专栏(给我列标题),我已经尝试了孩子'以及我在堆栈上找到的几种方法,但仍然没有。似乎能够解决这个问题。非常感谢任何帮助:)
答案 0 :(得分:2)
您可以等待商店加载,然后选择第一条记录:
setupGrid: function(grid) {
grid.store.on('load', function(store){
grid.getSelectionModel().select(store.first());
}, this);
}