JQGrid のすべての行を特定の順序で JavaScript 変数に取得したいと考えています。次の方法ですべての行のデータを取得できました。
var rowData = $("#gridId").jqGrid("getRowData");
しかし、グリッドに入力したのと同じ順序で行を表示したいと考えています。テーブルを作成し、グリッドを介してその列の詳細を取得しようとしています。したがって、列の順序を同じにする必要があります。助言がありますか?
JQGrid のすべての行を特定の順序で JavaScript 変数に取得したいと考えています。次の方法ですべての行のデータを取得できました。
var rowData = $("#gridId").jqGrid("getRowData");
しかし、グリッドに入力したのと同じ順序で行を表示したいと考えています。テーブルを作成し、グリッドを介してその列の詳細を取得しようとしています。したがって、列の順序を同じにする必要があります。助言がありますか?
jqgrid の行データを明示的に配列にプッシュし、それを json 文字列に変換できます。
これを行うには、以下のような関数を使用して jqgrid 行を反復処理できます:( Oleg の回答から)
var gridData= {};
var $grid = jQuery("#gridId"), rows = $grid[0].rows, cRows = rows.length,
iRow, rowId, row, cellsOfRow;
for (iRow = 0; iRow < cRows; iRow++) {
row = rows[iRow];
if ($(row).hasClass("jqgrow")) {
cellsOfRow = row.cells;
// row represent the row with cellsOfRow.length cells.
// So one can use for loop with iCol between 0 and cellsOfRow.length
// cellsOfRow[iCol] represent the cell with the index iCol
// and $(cellsOfRow[iCol]).text() - the text of the cell
}
}
ループ内で、セルデータを配列にプッシュできます。
gridData['column_index1'] = $(cellsOfRow[0]).text();
gridData['column_index2'] = $(cellsOfRow[1]).text();
.............................................
最後に、を使用して gridData を json 文字列に変換します
var result = JSON.stringify(gridData) ;