It is posible to save a complex objet into a column and to recover it after.
This is an example: 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"
});
If I try to access addres:
var rowData = $("#rowed5").getRowData(rowid);
var myaddress= rowData['address'];
Then I get '[object Object]' but it is a string!!! I can not do: myaddress.data1
Any recommendation???
I just resolved the problem. The main problem was that I have to load data on this way:
You don't have to do this:
If I correctly understand your problem you can do the following:
By the way to save the
address
part you don't need to create hidden column"address"
. So you don't create any hidden column in the table to hold any row specific custom data. You should just fill the data like you do as typically: usingdata
option of jqGrid:In the case all the data will be saved in the internal
data
parameter of jqGrid. You can use$("#rowed5").jqGrid("getGridParam", "data")
to return all the data or use$("#rowed5").jqGrid("getLocalRow", rowid)
to return the data of the specified row only.The small demo demonstrate the approach live. The data are displayed one row per page. So you can go to the next page and modify the data using cell editing. After saving the "address" information from the current cell will be displayed.