RealGrid2 가이드
그리드 편집
행 상태

행 상태

RealGrid는 행의 상태를 관리할 수 있습니다. 이 행이 편집된 행인지, 추가된 행인지, 삭제된 행인지, 또는 추가된 후 삭제된 행인지를 확인 할 수 있습니다. 행의 상태를 관리하기 위해서는 기본적으로 dataProviderOptions의 속성중 checkStates 속성값이 true로 되어 있어야 합니다. 기본값이 true이므로 별다른 설정은 필요 없습니다.

RealGrid는 사용자의 액션(추가, 수정, 삭제)에 따라 자동으로 행 상태를 관리합니다. 또한 RealGrid는 개발자의 의도에 따라 임의로 행 상태를 관리할 수도 있습니다.

행 상태(RowState)의 종류

none : 로드된 후 변경이 없는 상태.
created : 새로 추가된 행의 상태.
updated : 로드된 후 하나 이상의 필드 값이 변경된 상태. created 행은 값이 변경 되어도 updated로 변경되지 않습니다.
deleted : 로드된 후 삭제된 행의 상태.
createAndDeleted : 추가된 후 삭제한 행의 상태.

deletedcreateAndDeleted 상태는 dataProvider.options.softDeleting 의 값이 true 일 경우에만 가질 수 있습니다. softDeleting = false 라면 행 삭제시 행 상태를 바꾸지 않고 바로 dataProvider에서 삭제하기 때문 입니다.

사용자 입력에 의한 행 상태 변경

그리드에 표시된 값을 수정하거나 아래 키 입력을 통해 행의 상태가 변경 됩니다.
Ctrl+Del(windows), ctrl + fn + backspace(mac) : 현재 행 혹은 선택 행들 삭제
Ins : 현재 위치에 행 삽입
Down Arrow : 마지막 행에서 행 추가

API에 의한 행 상태 변경

dataProvider.setRowState, dataProvider.setRowStates를 사용하여 행의 상태를 변경할 수 있습니다.

행 상태

var curr = gridView.getCurrent();
var state = $(':radio[name="rbRowState"]:checked').val();
dataProvider.setRowState(curr.dataRow, state, true);
var dataRows = gridView.getCheckedRows();
var state = $(':radio[name="rbRowState"]:checked').val();
dataProvider.setRowStates(dataRows, state, true);

행 상태별 행 번호 가져오기

상태를 가진 행들의 행번호 배열을 가져옵니다.

var rows = null;
var state = $(':radio[name="rbRowStateArray"]:checked').val();
if (!state || state == "all") {
  rows = dataProvider.getAllStateRows(); // RowState.NONE은 포함되지 않는다.
} else {
  rows = dataProvider.getStateRows(state);
}
alert(JSON.stringify(rows));

변경 행의 갯수 가져오기

상태를 가진 행들의 갯수 가져옵니다.

var state = $(':radio[name="rbRowStateCount"]:checked').val();
var count = dataProvider.getRowStateCount(state);
alert(count);