グリッドオブジェクトに含まれるデータ全体を繰り返し処理したいと思います。 私のグリッドは、サブグリッドオブジェクトが含まれる定義を持っており、私はデータを反復処理するには、この1のようなコードを使用することができます知っているこのようグリッド上でjqGridを反復処理するサブグリッド内のデータ
var grid = $(gridID);
var pager = $(pagerID);
grid.jqGrid({
url: GetBaseWSUrl() + 'MyWs.asmx/MyMethod',
colNames: ['UMLT', 'FF', 'PC'],
colModel: [
{ name: 'Name', index: 'Name', width: 180, template: colTextTemplate },
{ name: 'AlertFF', index: 'AlertFF', width: 22, align: 'center', sortable: false, formatter: "checkbox", formatoptions: { disabled: false} },
{ name: 'AlertPC', index: 'AlertPC', width: 22, align: 'center', sortable: false, formatter: "checkbox", formatoptions: { disabled: false} }
],
[...]
subGrid: true,
subGridOptions: {
"plusicon": "ui-icon-triangle-1-e",
"minusicon": "ui-icon-triangle-1-s",
"openicon": "ui-icon-arrowreturn-1-e",
"reloadOnExpand": true,
"selectOnExpand": true
},
subGridRowExpanded: function (subgrid_id, row_id) {
var subgrid_table_id = subgrid_id + "_t";
$("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table>");
$("#" + subgrid_table_id).jqGrid({
[...] omitted for brevity
});
}
});
を作成し、効果的にそれが最初のレベルのために動作しますが、私は探しています私がサブグリッドデータでさえも反復することを可能にする方法のために。
var grid = $('#grid');
var m = grid.getDataIDs();
for (var i = 0; i < m.length; i++) {
var record = grid.getRowData(m[i]);
//do something with the record
}
これを達成する方法はありますか?
'loadComplete'に含まれているグリッドを反復処理しますか?すべての行で何をしたいですか?あなたはいくつかの列の包含を調べるか、またはいくつかの列に変更を加えたいですか?たとえば、列の内容に基づいて行の背景色を変更する必要がありますか?私はあなたが私の質問を理解していると思います。もう一つ重要なこと:ローカルの 'datatype'や' loadonce:true'を使用しますか? – Oleg
私は 'datatype:json'を使用しています。 'loadonce:true'を使用していません。私は行を繰り返し、チェックボックスの書式設定を持つ1つの列の値をチェックする必要があります。この列が選択されている場合、私はいくつかの値を読み取るだけで、この行の子グリッドを反復する必要があります。データを変更する必要はありません。 – Lorenzo