2

我想以编程方式获取网格的单元格并在其上触发 cellclick 事件。我该如何实现它?到目前为止,我成功地获得了这样的单元格的 dom 元素

var cell = pos.view.getCellByPosition(newPos);

但是当我执行以下代码时

cell.fireEvent('click');

它给了我错误,因为它不是 Ext 组件。有什么方法可以从 Dom Element 获取 Ext Component。Dom 元素有一个 ID,但是当我使用 Ext.getCmp(cell.id); 它时,它什么也不返回。

4

2 回答 2

4

网格单元没有由 ExtJS 组件表示,因此您不能在其上触发事件。可以为单元格 DOM 元素 ( http://jehiah.cz/a/firing-javascript-events-properly ) 手动触发 DOM 事件,或者为 Ext.grid.View 组件触发事件 itemclick。

于 2013-01-18T08:10:19.327 回答
0

cellclick 事件实际上是从底层视图触发的,而不是单元格本身。

所以尝试触发以下事件:

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 )
于 2013-01-18T08:10:12.743 回答