我想在点击该行中的任何单元格时从网格中检索单元格的值 我没有在网格中使用复选框选择模型。我没有找到任何使用复选框模型的网格解决方案 我正在尝试使用以下方式检索该值,但我收到的是未定义的'。
listeners: {'cellclick': {fn: function(grid, cellIndex, rowIndex, columnIndex, value, e) {
alert("grid "+grid+" rowIndex "+rowIndex+" columnIndex "+columnIndex+" e "+e+" cellIndex "+cellIndex);
alert("record "+cellIndex.data);
record = grid.getStore().getAt(rowIndex);
cellvalue = record.get(colname);
}//funtion
在上面的代码中,cellIndex.data
未定义。我也尝试了cellIndex.value
和其他各种可能性
例如,我想要的是,当我单击行的第5列时,我想要检索同一行的第1列上的单元格值。怎么做到这一点?
答案 0 :(得分:1)
看起来您的侦听器方法签名不正确。对于Ext JS 4.2,cellclick事件的处理程序采用以下参数:
this, td, cellIndex, record, tr, rowIndex, e, eOpts
http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.grid.Panel-event-cellclick
一旦你有了正确的签名,你就会发现cellclick事件也传递了record
,它是绑定到发生cellclick事件的行的模型实例。您应该可以使用它来轻松地从模型实例中的任何字段中检索值,而无需先从商店中单独查找记录...您已经拥有它。
另外,请务必注意参数的数据类型。例如,cellIndex
是一个数字,而不是一个对象。