- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在开发一个使用 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中是否可行。
感谢任何帮助。
最佳答案
您可以使用getCell
或getRowData
从基于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
可能有一些优势(包括性能优势),但您应该验证它是否与 datatype
和 loadonce
一起工作你在网格 #Report1
中使用。
关于javascript - JqGrid:如何从 onCellSelect 事件中获取所有列值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20512859/
我在使用 jqGrid 5.2.1 时遇到了问题。 我想在用户单击单元格时从一行数据中检索属性。该属性位于原始数据集中,但未显示在网格中。另外,我正在使用滚动功能,因此行 ID 会像“jqg20”一样
我成功地从我的 Controller 方法检索数据,并希望在 jqGrid 上显示数据。 我注意到在调试过程中,我收到一条弹出的错误消息(我没有预料到),上面写着“元素不是表格”。 尝试为网格设置 o
我试图将存储在 XML 文件中的数据(URL)传递给 onCellSelect,以便我可以用它打开一个新页面。该网站位于 www.bcgsc.ca/downloads/bdavis/tempsite3
我的代码- onCellSelect: function(rowid,iRow,iCol,e) { jQuery("#createrule").click(function(){
我正在开发一个使用 JqGrid 生成报告的 ASP.NET mvc 项目。对于报告生成,我正在生成 2 个不同的报告。第二份报告将根据第一份报告的值生成。为了获取列值,我正在使用 JqGrid 的
我正在onCellSelect中编写一些代码,它执行得很好 onCellSelect: function (rowid, iCol, cellcontent) { if (iCol >
我有一个网格,当用户突出显示他们想要过滤的文本时,我会在其中提供搜索。 onCellSelect 看起来像这样: onCellSelect: function(row, col, content, e
我在这里找到了问题的解决方案: jqGrid multiselect - limit the selection of the row only using the checkbox 但这会取消我的
我是一名优秀的程序员,十分优秀!