Я делаю то же самое, но с JSON. Позвольте мне попробовать заменить datatype, datastr и xmlReader на json, jsonstring & jsonreader и посмотреть. Благодарю. Это было очень полезно!
я есть XML-файл, имеющий такую структуру:
<products>
<product>
<id>P1</id>
<name>PRODUCT 1</name>
<accessories>
<accessory>
<id>acc_1</id>
<name></name>
</accessory>
<accessory>
<id>acc_2</id>
<name></name>
</accessory>
<accessory>
<id>acc_3</id>
<name></name>
</accessory>
</accessories>
</product>
<product>
<id>P2</id>
<name>PRODUCT 2</name>
<accessories>
<accessory>
<id>acc_1</id>
<name>ACC 1</name>
</accessory>
<accessory>
<id>acc_2</id>
<name>ACC 2</name>
</accessory>
</accessories>
</product>
</products>
я хочу иметьвсе продукты в сетке используя jqGrid иаксессуары в подсетке для каждого продукта (со значком плюса).
Для этого я использую следующие js:
var myGrid = $("#prods").jqGrid({
url: 'products.xml',
datatype: "xml",
colNames:["id", "Name"],
colModel:[
{name:"id", key: true, index:"id", width:90, xmlmap:"id", sortable:true},
{name:"Name", index:"Name", width:100, sortable:true, xmlmap:"name"}}
],
width: 300,
height:480,
ignoreCase: true,
viewrecords: true,
loadonce: true,
sortname: 'Name',
sortorder: "asc",
sortable: true,
pager: "#pager",
xmlReader: {
root: "products",
row: "product",
repeatitems: false,
id: "sku",
subgrid: {
root: "products>product>accessories",
row: "accessory",
repeatitems:false,
id: "id"
}
},
caption: "Products",
subGrid: true,
subGridRowExpanded: function(grid_id, row_id) {
var subgrid_table_id;
subgrid_table_id = grid_id + "_t";
jQuery("#" + grid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table>");
jQuery("#" + subgrid_table_id).jqGrid( {
colNames: [ 'Id', 'Name'],
colModel: [
{name:"accid",index:"accid",width:80, xmlmap:"id"},
{name:"accname",index:"accname",width:80, xmlmap:"name"}
],
height: 50,
rowNum:10,
});
}
});
Это не показывает подзаписей. Я также попытался поместить тот же корень / строку в подсетку, что и родительская сетка, и использовал следующую ссылку для идентификатора: «продукты> продукт> аксессуары> аксессуар> идентификатор», но это не сработало.
Кто-нибудь уже нашел пример, который работает (на самом деле мой источник данных - один и тот же файл для сетки / подсетки), как я хочу.
Надеюсь, что это достаточно ясно, в противном случае, не стесняйтесь комментировать для запроса дополнительной информации.