RealGrid2 가이드
CRUD
셀 데이터 수정

그리드에 값 넣기

화면 구성이나 특별한 요구에 대응할 수 있도록 셀 단위, 행 단위 혹은 여러 행을 동시에 DataProvider에 직접 변경 할 수 있거나 추가할 수 있습니다.

dataProvider에서 사용하는 index는 dataRow, GridView에서 사용하는 index는 itemIndex 입니다.
이 두 index는 처음 데이터 로드시 차이가 없으나 소트, 필터링, 그룹핑시에는 차이가 발생 합니다.
dataRow는 처음 데이터가 로드된 이후 행 삽입, 삭제가 없는 경우 변경되지 않습니다. (소트시 화면에 보이는 순서와 차이가 발생)
itemIndex는 사용자 눈에 보이는 순서 입니다.

행 데이터를 수정하는 경우 아래 데모를 참고하세요. 행 데이터 수정

편집시 발생하는 이벤트들은 이벤트 발생 순서를 확인하세요.

그리드 값을 넣기 위한 함수들

dataProvider의 값을 넣기 위한 함수 입니다.

gridView의 값을 넣기 위한 함수 입니다.

그리드에 값 넣기

데이터 셀(한 행의 한 필드)의 값을 변경할 수 있습니다. 아래 그리드는 이름순으로 정렬이 되어 있는 그리드 입니다. dataProvider, gridView의 setValue를 눌러 차이를 확인하세요.

아래 그리드는 이름으로 정렬되어 있습니다.

dataProvider.setValue()

var current = gridView.getCurrent();
var dataRow = current.dataRow;
var fieldName = current.fieldName;
 
var value = "Cell (" + fieldName + ", " + dataRow + ")";
dataProvider.setValue(dataRow, fieldName, value);

gridView.setValue()

var current = gridView.getCurrent();
var itemIndex = current.itemIndex;
var fieldName = current.fieldName;
 
var value = "Cell (" + fieldName + ", " + itemIndex + ")";
gridView.setValue(itemIndex, fieldName, value);

주의사항

DataProvider의 데이터 함수를 호출하는 시점에 그리드가 편집 중이라면 "Clinet is editing" 에러가 발생하게 됩니다.
사용자 편집과 DataProvider 함수 호출을 동시에 진행할 수 없습니다.
반드시 gridView.commit(), gridView.cancel() 호출로 먼저 사용자 편집을 완료한 후 dataProvider 함수를 호출해야 합니다.