SMART datagrid v1.4 > Classes > TreeDataLoader

Back  Forward

DataLudi.TreeDataLoader.load  method

텍스트나 Json 객체, 혹은 Xml을 읽어서 데이터셋의 데이터행들로 추가한다. 

type에 따라 data를 처리하는 방식과 options에 설정할 수 있는 속성이 다르다. 아래 표에서 설명한다. options 중 "fillMode", "fillPos"는 "채우기 방식" 테이블을 참조한다. 

function load (type: String, data: Object|String, options: Object);
Returns
Void
Parameters
type - String. required.
data - Object|String. required.
options - Object. required.
Table-1  데이터 Load
typedataoptions
'csv'text'start': 데이터로 읽어들일 시작 행 위치, 기본값은 0.
'count': 읽어들일 행의 개수. 0이하면 start부터 모든 행. 기본값은 -1.
'delimiter': 필드 구분자. 기본값은 ','.
'quoted': true면, '"'(쌍따옴표)나 '''(따옴표)로 감싸인 경우 양 끝을 제거하고 읽어들인다.
'currency': true면, NUMBER 필드인 경우, 숫자, '.', '-', '+'을 제외한 문자들을 제거하고 읽어들인다.
'filter': 로드 시 적용할 filter 수식. 이 수식을 통과한 행들만 읽어들인다.
수식에 사용할 수 있는 변수는 아래 Filter 변수들 참조.
예) 'values['product_id'] like 'n%'' => product_id가 'n'으로 시작하는 줄만 읽어들인다.
'parentId': fillMode가 'set'이 아닐 때, 추가할 행들의 부모 행 rowId. 지정하지 않으면 최상위 행으로 추가.
'treeField': 트리 계층 판단 시 사용할 값이 들어 있는 위치.
'needSorting': true면 트리를 구성하기 전에 treeField를 기준으로 전체 정렬한다.
'json'text | jsontext인 경우 먼저 JSON.parse()로 객체화한다.
'rows': data 중에서 행으로 읽어들일 데이터셋의 위치. 점(.)으로 분리된 경로로 지정한다.
'parentId': 위 csv 항목과 동일. 아래 Json Path 테이블 참조. 지정하지 않으면 data를 json 배열로 간주한다.
'filter': 위 csv 항목과 동일.
'xml'text | DOMtext인 경우 먼저 DOMParser나 ActiveXObject를 이용해서 XMLDocument 객체로 파싱한다.
'parentId': 위 csv 항목과 동일.
'rows': data 중에서 읽어들일 데이터셋의 위치. 점(.)으로 분리된 경로로 지정한다. 아래 Xml Path 테이블 참조. 지정하지 않으면 data를 json 배열로 간주한다.
'filter': 위 csv 항목과 동일.
Table-2  채우기 방식
fillMode설명
'set'기존 행들 제거후 채운다.
'append'parentId로 지정한 행의 마지막 자식행 다음에 추가한다.
'insert'parentId로 지정한 행의 fillPos 위치의 자식행 자리에 삽입 추가한다.
Table-3  Json Path
path설명
''지정하지 않거나 빈 문자열이면 원본 데이터를 배열로 읽어들인다.
'row'원본 데이터의 'row' 속성을 배열로 읽어들인다..
'prop.row'원본 데이터의 'prop' 속성의 'row' 속성을 배열로 읽어들인다.
'prop[1].row'원본 데이터의 'prop' 속성이 배열이고, 그 두 번째 객체의 'row' 속성을 배열로 읽어들인다.
'$[0].row'원본 데이터가 배열이고 그 첫 번째 객체의 'row' 속성을 배열로 읽어들인다.
Table-4  Xml Path
path설명
''지정하지 않거나 빈 문자열이면 데이터행들로 읽어들일 수 없다. 지정하지 않으면 이름이 'row'인 element들을 가져온다.
'row'최상위 element들 중 이름이 'row'인 것들을 행으로 읽어들인다.
'prop.row'이름이 'prop'인 최상위 element들 중 첫 번째 element의 자식 element들 중 이름이 'row'인 것들을 행으로 읽어들인다.

'prop[0].row'로 지정한 것과 동일하다.
'prop[1].row'이름이 'prop'인 최상위 element들 중 두 번째 element의 자식 element들 중 이름이 'row'인 것들을 행으로 읽어들인다.
'$[0].row'원본 데이터가 배열이고 그 첫 번째 객체의 'row' 속성을 배열로 읽어들인다.
Table-5  Filter 변수들
변수명설명
'no'현재 읽어들이는 중인 원본 행의 위치. start 값이 더해진다.
'row'현재 추가나 수정인 데이터셋 행 번호.
'values'원본 행의 필드값. 'values['product_id']'와 같이 사용한다.
Code -1
    $('#load').click(function () {
        $.getJSON('data/data.json', null, function (data) {
    		new DataLudi.DataLoader(dataset).load('json', data, {
    		    fillMode: "append"
    		});
    		// 혹은, 전역함수를 이용한다.
    		DataLudi.loadJsonData(dataset, data, {
    		    fillMode: "update",
    		    fillPos: 10,
    		});
    	});
    });
See Also
TreeDataSet
TreeDataRow
트리 개요
Examples
Load Tree Data