如果我正确理解您的问题,您可以执行以下操作:
var rowData = $("#rowed5").jqGrid("getLocalRow", rowid);
alert("data3=" + rowData.address.data3);
顺便说一下保存address
您不需要创建隐藏列的部分"address"
. So 您不会在表中创建任何隐藏列来保存任何行特定的自定义数据。您应该像平常一样填写数据:使用data
jqGrid的选项:
var mydata = [
{
id: "10",
"datamain": "mydata",
"address": {"data1": 15, "data2": 0.0, "data3": "1000"}
},
{
id: "20",
"datamain": "mydata2",
"address": {"data1": 18, "data2": 0.1, "data3": "3000"}
}
];
$("#rowed5").jqGrid({
datatype: "local",
data: mydata,
colNames: ['Name'],
colModel: [
{name: 'datamain', width: 300, editable: true}
],
height: "auto",
...
});
在这种情况下所有数据会保存在内部data
jqGrid的参数。您可以使用$("#rowed5").jqGrid("getGridParam", "data")
返回所有数据或使用$("#rowed5").jqGrid("getLocalRow", rowid)
仅返回指定行的数据。
小演示 http://www.ok-soft-gmbh.com/jqGrid/complexlocaldata.htm现场演示该方法。数据每页显示一行。因此,您可以转到下一页并使用单元格编辑修改数据。保存后,将显示当前单元格中的“地址”信息。