將複雜對象保存到列中並在其後恢復它是可行的。JQgrid保存並從列中恢復對象
這是一個例子: JSON:
[{"datamain":"mydata",
"address":{"data1":15,"data2":0.0,"data3":"1000"}}
}]
的jqGrid:
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"
});
如果我嘗試訪問ADDRES:
var rowData = $("#rowed5").getRowData(rowid);
var myaddress= rowData['address'];
然後我得到「的翻譯: '但它是一個字符串!我做不到:myaddress.data1
任何推薦?
我只是解決了這個問題。主要proble是,我有上加載這樣的數據:\t \t \t的jQuery( 「#rowed5」) \t \t .jqGrid( 'setGridParam', \t \t { \t \t數據類型: '本地', \t \t data:mydata \t \t}) \t \t .trigger(「reloadGrid」); – Rafael
正確調用「getLocalRow」方法。這將對象返回給返回字符串的「getRowData」。謝謝。 – styfle
@styfle:不客氣! 'getLocalRow'和內部'data'和'_index'的其他優點如下:如果'mydata'包含附加屬性,將會以與輸入數據完全相同的格式進行保存。所以不需要隱藏的列,甚至可以保存與行關聯的複雜對象。請參閱[答案](http:// stackoverflow。com/a/13241406/315935)和[答案](http://stackoverflow.com/a/13779589/315935)嵌套的子網格信息將保存在'data'中,並使用'getLocalRow'訪問。 – Oleg