以下のようにグリッドデータにアクセスしたい
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]を読み取ることができないと想定します。画面に表示されていなくても正常にフェッチされた場合でも、グリッドデータ全体を読み取る方法を教えてください。
あなたは使ってみることができます:
var allRowsInGrid = $('#list4').jqGrid('getGridParam','data');
この方法はより「きれい」です。
var allRowsInGrid = $('#list4').getGridParam('data');
これは、特定の行のデータを取得する別の方法です。すべての行をループしてすべてを取得できます。
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);
}