SMART datagrid v.1 > Classes > TreeDataSet

Back  Forward

DataLudi.TreeDataSet.setRows  method

全部清除现有行,并将通过参数rows而传递的值,添加为数据行。 

rows的各个行可以是按字段顺序而储存值的数组或以字段名称为属性的JSON对象。 

当构成树时,将会从rows的第一行开始,按顺序转换添加为数据行。 这时,通过treeField而指定的位置的值将会成为决定树形层次的值。 也就是说,如果当前转换中的行的treeField字段值是以前行的值为开头的值,就会成为前行的子行。 

如果没有将useTreeField指定为true,通过treeField而指定的位置的值就不会被添加到数据组。 在DataSet.setFields时,需要忽视treeField位置,并添加字段。 如果想使用为字段值,就需要将useTreeField指定为true,并且当DataSet.setFields时,在treeField位置上,添加字段。 

如果rows并不是根据treeField而排序的状态,就需要通过将sortRows指定为true而首先进行排序。 

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],
    ];
    // 添加树字段
    ds.setFields([{
        fieldName: 'tree'
    }, {
        fieldName: 'name'
    }, {
        fieldName: 'value'
    }]);
    ds.setRows(rows, 0, true);
See Also
clearRows
TreeDataRow
树概述
Examples
树数据组
加载树数据
Hello Tree