Я довольно новичок в jqgrid. Как я могу показать вложенные json-объекты внутри jqgrid как отдельные поля? ниже приведен пример json-объекта
[ { "properties":{ "x":1, "y":78093, "closeDate":null, " }, "children":[ { "properties":{ "option":null, "type":"", "client":"southface", "categoryA":[ "x", "w" ], "facilitiesOther":null, "objectId":10, "docNo":7897, "Provisions":[ "x", "z" ], "sponsor":"own sponsor", "CategoryB":[ "e", "f", "g" ] ] }, "children":null, "Type":"test", "Id":"10" } ], "objectType":"document", "objectId":"89763" } ]
после большого количества исследований, которые я нашел где-то, что он требует изменения колмодели. Кое-что по этому вопросу было бы очень полезно заблаговременно
Вы должны использовать jsonMap
. Вы также должны посмотреть на wiki jqGrid и эту конкретную тему. Вы можете попробовать что-то вроде этого:
colNames:['Children','ID', 'Properties', 'Other','Sponsor'], colModel: [ {name:'children',width:100, jsonmap:"children.0", formatter: function (cellvalue) { return cellvalue.children }}, {name:'objectId',width:100, jsonmap:"children.0", formatter: function (cellvalue) { return cellvalue.objectType }}, {name:'properties',width:100, jsonmap:"children.0", formatter: function (cellvalue) { return cellvalue.properties.objectId }}, {name:'other',width:100, jsonmap:"children.0", formatter: function (cellvalue) { return cellvalue.properties.other[0] }}, {name:'sponsor',width:100, jsonmap:"children.0", formatter: function (cellvalue) { return cellvalue.properties.sponsor }} // and so on... ],
Это, очевидно, не самый лучший подход, потому что вам нужно знать, сколько записей у вас на вашем JSON, и делать это вручную для каждого. На самом деле, я не знаю, как вы могли бы сделать это автоматически, но, как я уже сказал, если вы посмотрите на jsonMap
на wiki jqGrid, вы, вероятно, найдете то, что хотите. Удачи!