如何获取extjs网格单元组件

时间:2013-01-18 07:13:28

标签: javascript extjs4.1 extjs-mvc

我希望以编程方式获取网格的单元格和fire cellclick事件。我怎样才能实现它?到目前为止,我成功地获得了像这样的单元格dom元素

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

但是当我执行以下代码时

cell.fireEvent('click');

它给了我错误,因为它不是Ext Component。有没有办法从Dom Element获取Ext Component。 Dom元素有ID,但是当我使用时 Ext.getCmp(cell.id); 它什么都不返回。

2 个答案:

答案 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 )