【问题标题】:Adding listener to Ext.Grid.panel in EXTJS 4在 EXTJS 4 中向 Ext.Grid.panel 添加监听器
【发布时间】:2012-02-09 14:32:38
【问题描述】:

我正在尝试将侦听器添加到 Ext.grid.panel

listeners: {

itemclick:function( grid, record, item, index, event){

alert(index);
var record = grid.getStore().getAt(index);
alert("Edit " + record.get('data'));
alert("Type " + record.get('type'));

}

我想得到我点击的行的索引值。因此,当我第一次单击该行时,我会在带有索引的警报框中得到:[object Object]。后两个警报根本没有出现。

所以当我再次单击同一行时。它会显示正确的索引,然后在警告框中显示“数据”和“类型”。

如何仅在第一次点击时获得正确的值?

【问题讨论】:

  • 为什么要从商店访问记录?事件处理程序的第二个参数是与单击的项目关联的记录。您是否有某些原因需要按索引访问记录?
  • 还要小心定义将在参数列表中屏蔽记录变量的记录变量。

标签: extjs extjs4


【解决方案1】:

当我将您的侦听器添加到我自己的网格面板时,我每次都会得到相同的行为。例如: 4/“编辑未定义”/“类型未定义”。

您会看到不同的行为,具体取决于您是第一次单击项目还是可能与网格的创建/渲染方式无关。

作为“索引”传递给您的侦听器函数的对象的内容可能会为您提供线索。如果您将其记录到控制台,您将能够对其进行检查。 (至少 Chrome 是这样处理对象记录的)。

虽然这不能解决您的问题,但我希望它对您的调试有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-13
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    • 1970-01-01
    相关资源
    最近更新 更多