商店加载后如何制作fireEvent itemclick

我有这个,但是不起作用:

pcfstore.on('load', function(){
   //auto select first row;
   Ext.getCmp('pcf_grid').getSelectionModel().select(0); // this works

   //fire itemclick event
  var grid= Ext.getCmp('pcf_grid');
  grid.fireEvent('itemclick', grid, 0); //this doesnt work

});


这是我在网格视图中的itemclick事件:

viewConfig: {
    listeners: {
    itemclick: function(dv, record, item, index, e) {
           alert(record.data.code);
       }
    }
}


基本上,当网格加载时,它应该触发所选第一行的警报窗口
的网格。

最佳答案

itemclickView的事件,而不是Grid的事件。尝试使用:

grid.getview().fireEvent('itemclick', grid, 0);


顺便说一句,为什么不使用selectionchange代替。

更新

如果同时具有itemcontextmenuselectionchange处理程序,可能会有些混乱。在这种情况下,我建议回到第一方并使用itemclick事件。

但是您的代码需要进行一些修改:


itemclick事件分配给网格,而不是它的视图。
当触发itemclick通过实际记录时,不是索引


像这样:

grid.getSelectionModel().select(0);
grid.fireEvent('itemclick', grid, grid.getSelectionModel().getLastSelected());


这是fiddle来演示我在说什么。

09-11 19:47