【问题标题】:JqGrid: How to get all column values from onCellSelect event?JqG​​rid:如何从 onCellSelect 事件中获取所有列值?
【发布时间】:2013-12-11 07:18:22
【问题描述】:

我正在开发一个使用 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 中可以吗?

感谢任何帮助。

【问题讨论】:

    标签: javascript jqgrid


    【解决方案1】:

    您可以使用getCellgetRowData 从基于rowid 的行中获取数据。如果您使用datatype: "local" 或者如果您在网格#Report1 中使用loadonce: true 选项,那么您可以使用getLocalRow,它比getRowData 有一些优势,但只有当数据本地保存在内部@987654329 内部时才有效@ 范围。仅当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 可能有一些优势(包括性能优势),但您应该验证它是否与您在网格#Report1 中使用的datatypeloadonce 一起使用。

    【讨论】:

      猜你喜欢
      • 2019-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      • 2011-12-01
      • 2011-09-10
      相关资源
      最近更新 更多