SMART datagrid v1.4 > Examples
대개의 어플리케션에서 그리드에 표시할 초기 데이터를 서버로부터 가져와 채우게 된다. 서버에서 전송되는 데이터의 형식은 여러가지 있을 수 있는데, 이 번 예제에서는 CSV 형식으로 저장되어 있는 데이터를 다룬다.
흔히 값들이 콤마로 분리된 하나 이상의 행을 갖는 텍스트 파일을 CSV 파일이라고 한다. 분리 문자는 콤마 대신 tab이나 다른 문자일 수 있고, 각 값들이 ""로 싸여 있을 수도 있다. 또, 처음 몇 행은 실제 데이터 행이 아니라 컬럼 이름 목록 등, 전체 데이터에 대한 메타 정보들로 채워져 있을 수 있다.
DataLudi의 데이터 DataLoader는 위의 모든 경우에 대응해서 csv 파일로 저장된 데이터를 그리드의 데이터셋 행들로 가져올 수 있다. load 메쏘드에서 자세한 내용을 참조한다.
$.ajax({
url: "/repo/grid/resource/data/orders.csv",
dataType: 'text',
success: function (data) {
new DataLudi.DataLoader(dsMain).load("csv", data, {
start: 1, // 두 번째 행부터 데이터행으로 읽어 들인다.
count: 500 // 최대 500 행만 읽어 들인다.
});
}
});
서버로부터 가져온 데이터를 DataLoader.load 호출로 DataSet에 로드할 때 기본적으로는 기존 데이터를 모두 제거하고, 새로운 데이터로 채운다. 하지만 load 호출시 fillMode 설정에 따라 기존 데이터를 수정하거나 추가할 수 있다.
$.ajax({
url: "/repo/grid/resource/data/orders.csv",
dataType: 'text',
success: function (data) {
var row = grdMain.focusedIndex().rowIndex;
if (row < 0) row = 0;
new DataLudi.DataLoader(dsMain).load("csv", data, {
start: 1,
count: 500,
fillMode: 'insert', // 'insert', 'append', 'update', 기본은 'set'
fillPos: row
});
}
});
아래의 버튼들을 클릭하면 5 행을 로드한 후, 각각 현재 행 자리에 삽입하거나, 마지막 행 다음에 추가하하거나, 현재 행 자리부터 5행 만큼 수정한다.