我希望以编程方式获取网格的单元格和fire cellclick事件。我怎样才能实现它?到目前为止,我成功地获得了像这样的单元格dom元素
var cell = pos.view.getCellByPosition(newPos);
但是当我执行以下代码时
cell.fireEvent('click');
它给了我错误,因为它不是Ext Component。有没有办法从Dom Element获取Ext Component。 Dom元素有ID,但是当我使用时
Ext.getCmp(cell.id);
它什么都不返回。
答案 0 :(得分:4)
网格单元格没有ExtJS组件的表示,因此您无法在其上触发事件。可以为单元DOM元素(http://jehiah.cz/a/firing-javascript-events-properly)手动触发DOM事件,或者为Ext.grid.View组件触发事件项目单击。
答案 1 :(得分:0)
cellclick事件实际上是从基础View而不是单元本身触发的。
因此,请尝试触发以下事件:
pos.view.fireEvent("cellclick")
你应该填写缺失的参数,因为cellclick应该提供以下内容:
cellclick( Ext.view.Table this, HTMLElement td, Number cellIndex,
Ext.data.Model record, HTMLElement tr, Number rowIndex,
Ext.EventObject e, Object eOpts )