Object JQgrid从列中保存和恢复对象
可以将一个复杂的对象保存到列中,然后恢复 这是一个例子: Json: Jqgrid:Object JQgrid从列中保存和恢复对象,object,jqgrid,hidden,Object,Jqgrid,Hidden,可以将一个复杂的对象保存到列中,然后恢复 这是一个例子: Json: Jqgrid: jQuery("#rowed5").jqGrid({ datatype: "local", loadtext:"Loading...", colNames:['Name', 'obaddress'], colModel:[ {name:'datamain',index:'datamain',
jQuery("#rowed5").jqGrid({
datatype: "local",
loadtext:"Loading...",
colNames:['Name',
'obaddress'],
colModel:[
{name:'datamain',index:'datamain', width:200,editable: true,edittype:'text'},
{name:'address',index:'address', width:30, editable: false,hidden : true,edittype:'text'}
],
cellsubmit: "clientArray",
pager:"#pager"
});
如果我尝试访问地址:
var rowData = $("#rowed5").getRowData(rowid);
var myaddress= rowData['address'];
然后我得到了“[object]”,但它是一个字符串!!!我做不到:myaddress.data1
有什么建议吗?如果我正确理解您的问题,您可以执行以下操作:
var rowData=$(“#rowed5”).jqGrid(“getLocalRow”,rowid);
警报(“data3=“+rowData.address.data3”);
通过保存地址
部分的方式,您不需要创建隐藏列“地址”
。因此,您不会在表中创建任何隐藏列来保存任何特定于行的自定义数据。您应该像通常一样填充数据:使用jqGrid的data
选项:
var mydata=[
{
身份证号码:“10”,
“datamain”:“mydata”,
“地址:{“数据1”:15,“数据2”:0.0,“数据3”:“1000”}
},
{
身份证号码:“20”,
“datamain”:“mydata2”,
“地址:{“data1”:18,“data2”:0.1,“data3”:“3000”}
}
];
$(“#rowed5”).jqGrid({
数据类型:“本地”,
数据:mydata,
colNames:['Name'],
colModel:[
{name:'datamain',宽度:300,可编辑:true}
],
高度:“自动”,
...
});
在情况下,所有数据将保存在jqGrid的内部数据
参数中。可以使用$(“#rowed5”).jqGrid(“getGridParam”,“data”)
返回所有数据,也可以使用$(“#rowed5”).jqGrid(“getLocalRow”,rowid)
仅返回指定行的数据
现场演示该方法。数据每页显示一行。因此,您可以转到下一页并使用单元格编辑修改数据。保存后,将显示当前单元格中的“地址”信息。我刚刚解决了问题。主要问题是我必须以这种方式加载数据:
jQuery("#rowed5")
.jqGrid('setGridParam',
{
datatype: 'local',
data:mydata
})
.trigger("reloadGrid");
您不必这样做:
jQuery("#rowed5").jqGrid("clearGridData", true);
for(var i=0;i < data.item.length;i++){
jQuery("#rowed5").jqGrid('addRowData',i,data.item[i]);
}
jQuery(“#rowed5”).jqGrid(“clearGridData”,true);
对于(var i=0;i
我刚刚解决了这个问题。主要的问题是我必须以这种方式加载数据:jQuery(#rowed5”).jqGrid('setGridParam',{datatype:'local',data:mydata}).trigger(“reloadGrid”);对“getLocalRow”方法的良好调用。这将返回与返回字符串的“getRowData”对应的对象。谢谢。@Stifle:不客气!getLocalRow
和内部data
和\u index
的其他优点如下:如果mydata
包含其他属性,则将以与输入数据完全相同的形式保存。因此,不需要隐藏列,甚至可以保存与行关联的复杂对象。请参见和将嵌套子网格信息保存在data
中的位置,并使用getLocalRow
访问。
jQuery("#rowed5").jqGrid("clearGridData", true);
for(var i=0;i < data.item.length;i++){
jQuery("#rowed5").jqGrid('addRowData',i,data.item[i]);
}