javascript - 不使用选择模型从网格获取单元格的值

标签 javascript jsp extjs

我想在单击该行中的任何单元格时从网格中检索单元格的值。
我没有在网格中使用复选框选择模型。我没有找到任何不使用复选框模型的网格解决方案。
我尝试使用以下方式检索该值,但收到“未定义”。

    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/

相关文章:

javascript - 通过 javascript 读取文本区域

javascript - window.location.href 最小化弹出窗口

java - 如何验证文本框中的字符串仅包含 2 个字符和 3 个数字?

javascript - 允许用户只打开文件但不保存文件

extjs - 加载数据后如何刷新面板?

javascript - Sucuri 404javascript.js 安全问题或内部服务器错误

c# - 在 ASP.net c# 中使用 css 样式打印一个 div 及其内容

JavaScript(存储在 Assets 中)在 ICS( Ice Cream Sandwich )中的 WebView 中不起作用

Java:Web 应用程序中的 hibernate - 无法实例化默认 tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer]

events - 扩展程序。使用创建操作在 store.save() 之后无法捕获写入事件