在 EXTJS 4 中向 Ext.Grid.panel 添加监听器
Posted
技术标签:
【中文标题】在 EXTJS 4 中向 Ext.Grid.panel 添加监听器【英文标题】:Adding listener to Ext.Grid.panel in EXTJS 4 【发布时间】: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]。后两个警报根本没有出现。
所以当我再次单击同一行时。它会显示正确的索引,然后在警告框中显示“数据”和“类型”。
如何仅在第一次点击时获得正确的值?
【问题讨论】:
为什么要从商店访问记录?事件处理程序的第二个参数是与单击的项目关联的记录。您是否有某些原因需要按索引访问记录? 还要小心定义将在参数列表中屏蔽记录变量的记录变量。 【参考方案1】:当我将您的侦听器添加到我自己的网格面板时,我每次都会得到相同的行为。例如: 4/“编辑未定义”/“类型未定义”。
您会看到不同的行为,具体取决于您是第一次单击项目还是可能与网格的创建/渲染方式无关。
作为“索引”传递给您的侦听器函数的对象的内容可能会为您提供线索。如果您将其记录到控制台,您将能够对其进行检查。 (至少 Chrome 是这样处理对象记录的)。
虽然这不能解决您的问题,但我希望它对您的调试有所帮助。
【讨论】:
以上是关于在 EXTJS 4 中向 Ext.Grid.panel 添加监听器的主要内容,如果未能解决你的问题,请参考以下文章