我想在单击该行中的任何单元格时从网格中检索单元格的值。
我没有在网格中使用复选框选择模型。我没有找到任何不使用复选框模型的网格解决方案。
我尝试使用以下方式检索该值,但收到“未定义”。
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
和各种其他可能性。
例如,我想要的是,当我单击一行的第五列时,我想检索同一行第一列的单元格值。如何实现这一目标?
最佳答案
您的监听器方法签名似乎不正确。对于 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
,它是绑定(bind)到发生 cellclick 事件的行的模型实例。您应该能够使用它轻松地从模型实例中的任何字段检索值,而不必先单独从存储中查找记录...您已经拥有它了。
此外,请务必注意参数的数据类型。例如,cellIndex
是一个数字,而不是一个对象。
关于javascript - 不使用选择模型从网格获取单元格的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26299261/