그리드의 값 가져오기
GridView, DataProvider의 여러 함수를 통해 데이터 셀 및 행들의 값을 가져올 수 있습니다.
그리드가 편집중이 아니라면 기본적으로 같은 값을 반환합니다.
특별한 경우가 아니라면 dataProvider에서 값을 가져와서 사용합니다.
dataProvider에서 사용하는 index는 dataRow, GridView에서 사용하는 index는 itemIndex 입니다.
이 두 index는 처음 데이터 로드시 차이가 없으나 소트, 필터링, 그룹핑시에는 차이가 발생 합니다.
dataRow는 처음 데이터가 로드된 이후 행 삽입, 삭제가 없는 경우 변경되지 않습니다. (소트시 화면에 보이는 순서와 차이가 발생)
itemIndex는 사용자 눈에 보이는 순서 입니다.
dataProvider에서 값 가져오기
현재 포커스 위치의 dataRow
와 field
값에 해당하는 value
값을 가져올 수 있습니다.
getJsonRow(), getOutputRow()에서 날짜 데이터가 어떻게 반환되는지 확인해보세요.
- getValue(dataRow, field)
- getValues(dataRow)
- getJsonRow(dataRow)
- getOutputRow(options, dataRow)
- getRows(startRow, endRow)
- getJsonRows(startRow, endRow)
- getOutputRows(options, startRow, endRow)
- getFieldValues(field, startRow, endRow)
아래 그리드는 이름으로 정렬되어 있습니다.
getValue
var current = gridView.getCurrent();
var value = dataProvider.getValue(current.dataRow, current.fieldName);
alert("dataRow: " + current.dataRow + ", " + "field: " + current.fieldName + ", " + "value: " + value);
getValues
한 행의 필드값들이 순서대로 들어있는 Array
로 가져올 수 있습니다.
var current = gridView.getCurrent();
alert("dataRow: " + current.dataRow + ", " + dataProvider.getValues(current.dataRow));
getJsonRow
한 행의 값을 Json객체
로 가져올 수 있습니다.
var current = gridView.getCurrent();
var jsonData = dataProvider.getJsonRow(current.dataRow);
alert("dataRow: " + current.dataRow + ", " + JSON.stringify(JsonData));
getOutputRow
설정된 옵션에 맞는 한 행의 값을 Object
로 가져올 수 있습니다.
options
는 데이터를 반환내는 방식 설정 입니다.
var options = { datetimeFormat: "yyyy-MM-dd" };
var current = gridView.getCurrent();
var outputRowData = dataProvider.getOutputRow(options, current.dataRow);
alert("dataRow: " + current.dataRow + ", " + JSON.stringify(outputRowData))
getRows
여러 행의 데이터를 Array의 Array
로 가져올 수 있습니다.
startRow
는 기본 0이며 0보다 작으면 첫번째 행부터 가져옵니다.
endRow
는 기본 -1이며 -1이면 마지막 행 까지 가져옵니다.
alert(dataProvider.getRows(0, -1));
getJsonRows
여러 행의 데이터를 Json객체의 Array
로 가져올 수 있습니다.
startRow
는 기본 0이며 0보다 작으면 첫번째 행부터 가져옵니다.
endRow
는 기본 -1이며 -1이면 마지막 행 까지 가져옵니다.
alert(JSON.stringify(dataProvider.getJsonRows(0, -1)));
getOutputRows
설정된 옵션에 맞는 여러 행의 데이터를 Object
로 가져올 수 있습니다.
options
는 데이터를 반환내는 방식 설정 입니다.
startRow
는 기본 0이며 0보다 작으면 첫번째 행부터 가져옵니다.
endRow
는 기본 -1이며 -1이면 마지막 행 까지 가져옵니다.
var options = { datetimeFormat: "yyyy-MM-dd" };
alert(JSON.stringify(dataProvider.getOutputRows(options, 0, -1)))
getFieldValues
현재 포커스 위치의 한 필드 값들을 지정한 행 범위만큼 Array
로 가져올 수 있습니다.
var current = gridView.getCurrent();
alert("field: " + current.fieldName + ", " + "fieldValues: " + dataProvider.getFieldValues(current.fieldName, 0, -1));
GridView에서 값 가져오기
현재 포커스 위치의 itemIndex
와 field
값에 해당하는 value
값을 가져올 수 있습니다.
getValues(), getDisplayValues(), getDisplayValuesOfRow()에서 날짜, 숫자 데이터가 어떻게 반환되는지 확인해보세요.
- getValue(itemIndex, field)
- getValues(itemIndex)
- getJsonRows()
- getDisplayValues(itemIndex,useColumnName)
- getDisplayValuesOfRow(dataRow,useColumnName)
아래 그리드는 이름으로 정렬되어 있습니다.
getValue
var current = gridView.getCurrent();
var value = gridView.getValue(current.itemIndex, current.fieldName);
alert(
"itemIndex: " +
current.itemIndex +
", " +
"field: " +
current.fieldName +
", " +
"value: " +
value
);
getValues
var current = gridView.getCurrent();
alert(
"itemIndex: " + current.itemIndex + ", " + JSON.stringify(gridView.getValues(current.itemIndex))
);
getJsonRows
alert(JSON.stringify(gridView.getJsonRows()));
getDisplayValues
실제값이 아닌 화면에 표시되고 있는 값을 itemIndex를 사용하여 그대로 가져옵니다.
var current = gridView.getCurrent();
var jsonData = gridView.getDisplayValues(current.itemIndex);
alert("itemIndex: " + current.itemIndex + ", " + JSON.stringify(jsonData));
getDisplayValuesOfRow
실제값이 아닌 화면에 표시되고 있는 값을 dataRow를 사용하여 그대로 가져옵니다.
var current = gridView.getCurrent();
var jsonData = gridView.getDisplayValuesOfRow(current.dataRow);
alert("dataRow: " + current.dataRow + ", " + JSON.stringify(jsonData));