【问题标题】:How to get extjs grid cell component如何获取 extjs 网格单元组件
【发布时间】:2013-01-18 07:13:27
【问题描述】:

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

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

但是当我执行以下代码时

cell.fireEvent('click');

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

【问题讨论】:

    标签: javascript extjs4.1 extjs-mvc


    【解决方案1】:

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

    【讨论】:

    • 以这个人的回答为基础,同样由于单元格不是组件,从它触发事件可能有什么目的?
    【解决方案2】:

    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 )
    

    【讨论】:

      猜你喜欢
      • 2020-05-07
      • 2012-01-16
      • 2012-06-27
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 2011-08-29
      相关资源
      最近更新 更多