web-dev-qa-db-ja.com

ページネーションを使用してjqgridのすべての行のデータを取得する方法

以下のようにグリッドデータにアクセスしたい

    var namePresent;
    var datafromgrid = $('#MyGrid').jqGrid('getRowData');
    for (var i = 0; i < rowCount; i++) {
         var name = datafromgrid[i].Name;
         var firstname = name.split(/ +/);
         if (firstname[0].toLowerCase() == Name.toLowerCase()) {
             namePresent = 1;
         }
    }

ここで、グリッドに5つのレコードが読み込まれると、グリッドからvarname = griddata[i].Name;にエラーがスローされ、グリッドからgriddata [5]を読み取ることができないと想定します。画面に表示されていなくても正常にフェッチされた場合でも、グリッドデータ全体を読み取る方法を教えてください。

12
mailmehere

あなたは使ってみることができます:

var allRowsInGrid = $('#list4').jqGrid('getGridParam','data');
24
checkgdata

この方法はより「きれい」です。

var allRowsInGrid = $('#list4').getGridParam('data');
4
Maverick

これは、特定の行のデータを取得する別の方法です。すべての行をループしてすべてを取得できます。

var dataIDs = grid.getDataIDs(); 
for(i = 0; i < dataIDs.length; i++)
{
    var rowData = grid.jqGrid ('getRowData', dataIDs[i]);
    //rowData is object containing keys & values for row
    console.log(rowData);
}
2
Mzn