我有一个用例,我想让 jqGrid 为特定列显示一些原始 JSON。我从服务器发送了以下 JSON:
{"items":[
{
"code":"ABC123",
"description":"",
"custom_data":{"items":[
{"prop1":"val1","prop2":"val2"},
{"prop1":"val3","prop2":"val4"}
]}
},
{"code":"ABC124","description":"","custom_data":[]},
...,
]}
和这样的 jqGrid 配置:
{
url:'/api/somewhere',
datatype: "json",
jsonReader : {
root:"items",
repeatitems: false,
id: "code"
},
colNames:['Code',
'Description',
'Data',],
colModel:[
{
name:'code', index:'code', width:100, hidden:false,
edittype:'text',
editable: true,
editrules:{required:true, edithidden:true},
editoptions: {readonly:false}
},
{
name:'description',
index:'description',
width:250,
editable:true,
edittype:'text',
editrules:{required:true}
},
{
name:'custom_data',
index:'custom_data',
width:100,
hidden:true,
sortable:false,
editable:true,
edittype:'text',
editrules:{required:false, edithidden:true}
},
],
...,
网格显示 OK,但 custom_data 列显示为 [object Object]。我需要的是它显示原始 JSON 字符串,我尝试使用 loadComplete 事件在每个行对象的 custom_data 对象上调用 JSON.stringify,但这不起作用。无论如何,我需要在 GET 之后进行一些数据操作,因为我想从 custom_data 对象中删除空值。
我的用户很乐意阅读和编辑原始 JSON,因此我还需要添加/编辑表单来接受原始 JSON,然后将其发布。
我不确定我是否只是使用错误的事件将对象转换回字符串,或者是否还有其他事情发生。