0

グリッドにデータをロードするために ajax を使用したくありません。すべてのデータをメイン グリッドとサブグリッドに静的にロードする方法はありますか?

jqGrid ドキュメントのサンプルでは、​​パラメータ subGridUrlが必要です。しかし、私は次のようなものが欲しい:

var mydata = [ {
// ... some static code for data creation here
 } ]

パラメータdataで mydata を使用していますが、subGridにはこのパラメータなどはありません。

4

1 に答える 1

2

サブグリッドをグリッドとして使用する場合、コールバック内に新しいグリッドを作成する必要があり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],
                ...
            });
    });
于 2012-02-06T19:27:15.393 に答える