subgrid as gridを使用する場合は、subGridRowExpanded
コールバック内に新しいグリッドを作成する必要があります。コールバックはrowid
をパラメータとして取得します。したがって、サブグリッドのパラメータ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],
...
});
});
いくつかの詳細やコードを追加してくださいが... –
はまあ1)あなたは元の要求の一部としてそれを渡すことができる2つの方法があります。または2)(データの性質に応じて)クライアント側で生成する。 あなたはそれを避けるだけのajaxを避けたいのですが、それは些細な疑問です。 –