Raz*_*riz 2 extjs extjs4 extjs4.2
我正在构建一个 ExtJS4 Web 应用程序,并且有一个“页面”,其中有一个网格,其记录来自数据库。加载网格存储后,我希望选择第一个项目。
这是我到目前为止所尝试过的:
store.load({
callback: function() {
if(store.count() > 0){
grid.getSelectionModel().select(0);
//grid.getView().select(0);
}
}
});
Run Code Online (Sandbox Code Playgroud)
商店正确加载数据库记录,因为它们显示在我的网格中。第一行也会突出显示,就像被单击一样。但是,itemclick与我手动单击该行时相比,我的事件侦听器/控制器没有触发。
我也尝试过grid.getView().select(0);,grid.getSelectionModel().selectFirstRow();但显然,这两个都不是函数。
itemclick我的网格行似乎是由根本没有被调用的函数选择的。
您应该在“Ext.selection.Model”中使用“selectionchange”侦听器,而不是在网格类中使用“itemclick”。当在网格中单击行并以编程方式选择行时,在这两种情况下都会触发此侦听器。
代码大概是这样的:
Ext.create('Ext.grid.Panel', {
selModel: Ext.create('Ext.selection.Model', {
...
listeners: {
selectionchange: function( this, selected, eOpts ) {
// Write your listener here or fire another event in view controller
}
}
}
store: ...
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3605 次 |
| 最近记录: |