SMART datagrid v1.4 > Classes > TreeDataSet

Back  Forward

DataLudi.TreeDataSet.setRows  method

기존행들을 모두 제거하고, 매개변수 rows로 전달한 값들을 데이터행들로 추가한다. 

rows의 각 행은 필드 순서대로 값이 저장된 배열이거나, 필드 이름들을 속성으로 하는 json 객체일 수 있다. 

트리를 구성할 때, rows의 첫 행부터 순서대로 데이터행으로 변환 추가한다. 이 때, treeField로 지정한 위치의 값이 트리 계층을 정하는 값이 된다. 즉 현재 변환 중인 행의 treeField 필드 값이 이전 행의 값으로 시작하는 값이면 이 전 행의 자식행이 된다. 

useTreeFieldtrue로 지정하지 않으면 treeField로 지정한 위치의 값들은 데이터셋에 추가되지 않는다. DataSet.setFieldstreeField 위치는 없는 것으로 여기고 필드들을 추가해야 한다. 만일, 필드 값으로 사용하고 싶다면 useTreeFieldtrue로 하고, DataSet.setFieldstreeField 위치에 필드를 추가해야 한다. 

만일 rowstreeField에 맞게 정렬된 상태가 아니라면, sortRowstrue로 지정해서 먼저 정렬하도록 해야 한다. 

function setRows (rows: Array, treeField: Integer, useTreeField: Boolean, needSorting: Boolean);
Returns
Void
Parameters
rows - Array. required.
treeField - Integer. required.
useTreeField - Boolean. 기본값은 false.
needSorting - Boolean. 기본값은 false.
Code -1
    // treeField: 0, useTreeField: false
    var rows = [
        ['0', 'name1', 'value'1],
        ['0.1', 'name11', 'value'11],
        ['0.2', 'name12', 'value'12],
    ];
    // rows 각 배열의 두 번째 항목부터 값으로 사용한다.
    ds.setFields([{
        fieldName: 'name'
    }, {
        fieldName: 'value'
    }]);
    ds.setRows(rows, 0);
Code -2
    // treeField: 0, useTreeField: true
    var rows = [
        ['0', 'name1', 'value'1],
        ['0.1', 'name11', 'value'11],
        ['0.2', 'name12', 'value'12],
    ];
    // tree 필드 추가
    ds.setFields([{
        fieldName: 'tree'
    }, {
        fieldName: 'name'
    }, {
        fieldName: 'value'
    }]);
    ds.setRows(rows, 0, true);
See Also
clearRows
TreeDataRow
트리 개요
Examples
Tree 데이터셋
Tree 데이터 로드하기
Hello Tree