javascript - JqG​​rid:如何从 onCellSelect 事件中获取所有列值?

标签 javascript jqgrid

我正在开发一个使用 JqGrid 生成报告的 ASP.NET mvc 项目。对于报告生成,我正在生成 2 个不同的报告。第二份报告将根据第一份报告的值生成。 为了获取列值,我正在使用 JqGrid 的 OnCellSelect 事件,

事件:

$('#Report1').jqGrid({
...
..
colNames: ['name1','name2','name3','name4','name5','name6','name7'],
                        colModel: [
                        {....},
                        { ... },
                        { ...},
                        {...},
                        { ...},
                        { ...},
                        { ... }
                    ],
                        jsonReader: {
                            root: 'DD_data',
                            id: 'name1',
                            repeatitems: false
                        },
                        pager: $('#pager'),
//Event fires when clicked on name7
onCellSelect: function (rowid, index, contents, event) {   

//Code for generating Second Report based on First report data//
$('#Report2').jqGrid({
...
...
});
} 
});

在 Cell Select 事件中,我只获取 rowid 、我的 key 和选定的单元格内容。

但我还需要来自所选列的 name2、name3 和 name4 数据来生成第二份报告。

在JqGrid中是否可行。

感谢任何帮助。

最佳答案

您可以使用getCellgetRowData 从基于rowid 的行中获取数据。如果您使用 datatype: "local" 或者如果您在网格 #Report1 中使用 loadonce: true 选项,那么您可以使用 getLocalRow getRowData 相比有一些优势,但仅当数据保存在内部 data 参数的本地时才有效。只有当 datatype 不是 "json""xml""json" 时才会填充该参数> 或 "xml",但使用了 loadonce: true 选项。

您可以使用的最简单的代码是

onCellSelect: function (rowid) {
    var rowData = $(this).jqGrid("getRowData", rowid);
    // now you can use rowData.name2, rowData.name3, rowData.name4 ,...
}

使用 getLocalRow 可能有一些优势(包括性能优势),但您应该验证它是否与 datatypeloadonce 一起工作你在网格 #Report1 中使用。

关于javascript - JqG​​rid:如何从 onCellSelect 事件中获取所有列值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20512859/

相关文章:

javascript - 在客户端对 html 表列进行排序,无需除 jquery 之外的第三方

javascript - 使用 Javascript 或 jQuery 将 CSS 添加到所有 HTML 元素

javascript - 具有相同类的多个元素的触发功能

javascript - 如何根据输入字段数组验证禁用提交按钮

javascript - jqGrid表单编辑,HTML代替表单字段中的值

javascript - 是否可以将多个事件处理程序绑定(bind)到 JqGrid 事件而不覆盖以前的事件?

javascript - 为 colModel edittype 扩展 jqgrid

jquery - 启用/禁用 jqGrid 中的自定义按钮

javascript - getStylesheet 取决于类是否存在

javascript - 使用 javascript 比较两个数组并查找每个值的计数