SMART datagrid v1.4 > Classes > GridBase
셀 편집기에서 Enter 키를 입력하거나, Tab 키 등으로 편집 중인 셀을 벗어나서 사용자 편집이 완료되면 onEditCommitted 이벤트가 발생하고, 편집한 값이 편집 행 버퍼에 저장된 후 발생한다.
편집 중인 행의 데이터셀에 ctrl+v로 클립보드 붙여넣기를 실행해서 값이 변경할 때도 발생한다. 또, 사용자 동작 이외에 GridRow.setValue등을 호출해서 편집 중인 행의 셀 값을 직접 변경해서 실제로 다른 값으로 변경되면 역시 발생할 수 있다. 사용자 입력일 경우 그리드 editOptions의 checkCellDiff, strictDiff 설정에 따라 편집 값이 무시되고, 따라서 이벤트가 발생하지 않을 수 있다.
grid.onEditCellUpdated = function (grid, row, fieldIndex, newValue, oldValue) {
console.log(oldValue + ' -> ' + newValue);
};
// commit 이벤트 내에서 다른 셀의 값을 변경하면 onEditCellUpdated 이벤트가 발생한다.
grid.onEditCommitted = function (grid, index, newValue, oldValue) {
if (index.dataField() == 0) {
index.getRow().setValue(1, newValue + 100);
}
}