次のようにして、保存時にサブグリッド値を調べることができます。
var gridControl = document.getElementById('subgrid_id').control;
var ids = gridControl.get_allRecordIds();
for(i = 0; i < ids.length; i++) {
var cellValue = gridControl.getCellValue('column_name', ids[i]);
// logic
}
サブグリッドは非同期に読み込まれ、フォームの onload イベントが発生したときに読み込みが完了しない可能性が高いため、読み込み時にこれを行うのは少し困難です。ただし、フォームの onload で次のような関数を呼び出すことで、グリッドを定期的にチェックして、ロードがいつ完了したかを確認できます。
function subGridOnload() {
var grid = document.getElementById('subgrid_id');
if (grid.readyState!="complete") {
// delay one second and try again.
setTimeout(subGridOnload, 1000);
return;
}
// logic
}