3

jqGridを使用しloadonce:trueてページ全体のすべてのIDを取得するにはどうすればよいですか?datatype:json

4

2 に答える 2

2

オプションを使用しdataて、グリッド データを直接取得できます。

 myGrid.jqGrid('getGridParam', 'data');

data次に、各 ID を取得するために繰り返し処理する必要があります。

于 2012-09-11T15:24:01.950 に答える
2

_indexjqGridのパラメータを取得する必要があります。プロパティとして ID を持つオブジェクトです。getDataIDs(メソッドのように) ID の配列が必要な場合は、次のようにします。

var id, ids = [], indexes = $("#grid").jqGrid("getGridParam", "_index");
for (id in indexes) {
    if (indexes.hasOwnProperty(id)) {
        ids.push(id);
    }
}

このコードは、ids配列にローカル グリッドの ID を入力します。

ところで、_indexオブジェクトの値 (indexes[id]上記の for ループのように) には、$("#grid").jqGrid("getGridParam", "data")配列内の対応するデータ オブジェクトのインデックスが含まれています。

たとえば、次のようなデータでグリッドを埋める場合

var myData = [
        {id: "x", name: "abc", age: "12"},
        {id: "y", name: "def", age: "34"}
    ];
$("#grid").jqGrid({
    data: myData,
    datatype: "local",
    colModel: [{name: "name"}, {name: "age"}]
});

その後、$("#grid").jqGrid("getGridParam", "_index")オブジェクトになります

{
    x: 0, // index of the data for the item having id="x"
    y: 1  // index of the data for the item having id="y"
}

そして$("#grid").jqGrid("getGridParam", "data")配列になります

[
    {name: "abc", age: "12"}
    {name: "def", age: "34"}
]
于 2012-09-11T16:07:01.227 に答える