我不想使用 ajax 在我的网格中加载数据。有办法将所有数据静态加载到主网格和子网格吗?
在 jqGrid 文档的示例中 subGridUrl
,需要参数 ,。但我想要类似的东西:
var mydata = [ {
// ... some static code for data creation here
} ]
并在参数中使用 mydata data
,但 subGrid 没有此参数或其他内容。
我不想使用 ajax 在我的网格中加载数据。有办法将所有数据静态加载到主网格和子网格吗?
在 jqGrid 文档的示例中 subGridUrl
,需要参数 ,。但我想要类似的东西:
var mydata = [ {
// ... some static code for data creation here
} ]
并在参数中使用 mydata data
,但 subGrid 没有此参数或其他内容。
如果您使用子网格作为网格,则必须在subGridRowExpanded
回调中创建新网格。回调 getrowid
作为参数。因此,如果您将获得可用作data
子网格参数的数据数组,则可以使用 定义子网格datatype: 'local'
。
代码架构可以是以下内容:
var mainGridData = [
{id: 'm1', ...},
{id: 'm2', ...},
],
subgridData1 = [
{id: 's11', ...},
{id: 's12', ...},
],
subgridData2 = [
{id: 's21', ...},
{id: 's22', ...},
],
subgridByMainGridId = {
m1: subgridData1,
m2: subgridData2
};
$('#mainGrid').jqGrid({
datatype: 'local',
data: mainGridData,
....
subGrid: true,
subGridRowExpanded: function(subgridId, rowId) {
var subgridTableId = subgridId + "_t";
$("#" + $.jgrid.jqID(subgridId)).html('<table id="' +
subgridTableId + '"></table>');
$("#" + $.jgrid.jqID(subgridTableId)).jqGrid({
datatype: 'local',
data: subgridByMainGridId[rowId],
...
});
});