gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 05:12:15 25 4
gpt4 key购买 nike

我正在开发一个使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com