jqGrid: проблема с загрузкой вложенной подсетки с локальным типом данных
Я пытаюсь заставить вложенные подсетки работать, используя jqGrid с локальными данными. Я немного искал, но не смог найти решение. Вот упрощенный пример моего кода:
var mainGridData =
[
// main grid data
{ id: "m1", col1: "11", col2: "12" },
{ id: "m2", col1: "21", col2: "22" },
{ id: "m3", col1: "31", col2: "32" }
];
var firstSubgrid =
{
m1: [
// data for subgrid for the id=m1
{ id: "s1a", c1: "aa", c2: "ab", c3: "ac" },
{ id: "s1b", c1: "ba", c2: "bb", c3: "bc" },
{ id: "s1c", c1: "ca", c2: "cb", c3: "cc" }
],
m2: [
// data for subgrid for the id=m2
{ id: "s2a", c1: "xx", c2: "xy", c3: "xz" }
]
};
var secondSubgrid =
{
s1a: [
// data for subgrid for the id=m1
{ id: "2s1a", d1: "2aa", d2: "2ab", d3: "2ac" },
{ id: "2s1b", d1: "2ba", d2: "2bb", d3: "2bc" },
{ id: "2s1c", d1: "2ca", d2: "2cb", d3: "2cc" }
],
s2a: [
// data for subgrid for the id=m2
{ id: "2s2a", d1: "xx", d2: "xy", d3: "xz" }
]
};
//------------
$("#grid").jqGrid({
datatype: 'local',
data: mainGridData,
colNames: ['Column 1', 'Column 2'],
colModel: [
{ name: 'col1', width: 200 },
{ name: 'col2', width: 200 }
],
//Subgrid1...
subGrid: true,
subGridRowExpanded: function (subgridDivId, rowId) {
var subgridTab,leId = subgridDivId + "_t";
$("#" + subgridDivId).html("<table id='" + subgridTableId + "'></table>");
$("#" + subgridTableId).jqGrid({
datatype: 'local',
data: firstSubgrid[rowId],
colNames: ['Col 1', 'Col 2', 'Col 3'],
colModel: [
{ name: 'c1', width: 100 },
{ name: 'c2', width: 100 },
{ name: 'c3', width: 100 }
],
//Subgrid2...
subGrid: true,
subGridRowExpanded: function (subgrid2DivId, subRowId2) {
var subgrid2TableId = subgrid2DivId + "_t";
$("#" + subgrid2DivId).html("<table id='" + subgrid2DivId + "'></table>");
$("#" + subgrid2TableId).jqGrid({
datatype: 'local',
data: secondSubgrid[subRowId2],
colNames: ['Col 1', 'Col 2', 'Col 3'],
colModel: [
{ name: 'd1', width: 100 },
{ name: 'd2', width: 100 },
{ name: 'd3', width: 100 }
],
});
}
});
}
});
Есть идеи?