我有以下代码。请告诉我如何在jqGrid中获取所选行数据。
我尝试使用以下代码:
function getlist()
{
var grid = $("#gridname");
var rowKey = grid.getGridParam('selrow');
if (rowKey)
alert("Selected row primary key is: " + rowKey);
else
alert("No rows are selected");
}
这里我将“rowkey”视为null。
这是我用来将json数据加载到jqgrid的函数:
function loadvalues() {
$("#gridname").jqGrid({
datastr: myDataS,
datatype: "jsonstring",
jsonReader: {repeatitems: false},
autoencode:true,
caption: " ",
pgbuttons : false,
viewrecords : false,
pgtext : "",
pginput : false,
rownumbers:true,
cmTemplate: {sortable:false},
loadonce: true,
cellsubmit : "clientArray",
colNames: ['col1','col2'],
colModel: [{
name: 'col1',
index: 'col1',
width: 0
},{
name: 'col2',
index: 'col2',
width: 0
}
}]
});
}
答案 0 :(得分:2)
在两种情况下,来电var rowKey = grid.getGridParam('selrow');
(其中var grid = $("#gridname");
)可以将变量rowKey
设置为null
:
<table id="gridname"></table>
创建 jqGrid之前执行代码。如果没有id="gridname"
的元素,您将获得几乎相同的结果。您发布了{em>单独的代码getlist
和loadvalues
功能。因此,很难说出你遇到了什么问题。
顺便说一句,函数loadvalues
只能执行一次。它从空<table id="gridname"></table>
创建网格。在创建过程中,它将被修改为相对复杂的潜水和表格结构。因此,人们不能再将函数loadvalues
调用一次。在下一次调用期间,jqGrid只是测试,网格已经创建并且什么都不做。如果您想在函数loadvalues
中重新创建网格,那么您应该在开头添加$("#gridname").jqGrid("GridUnload");
。