SMART datagrid v.1 > Classes > TreeDataSet
全部清除现有行,并将通过参数rows而传递的值,添加为数据行。
rows的各个行可以是按字段顺序而储存值的数组或以字段名称为属性的JSON对象。
当构成树时,将会从rows的第一行开始,按顺序转换添加为数据行。 这时,通过treeField而指定的位置的值将会成为决定树形层次的值。 也就是说,如果当前转换中的行的treeField字段值是以前行的值为开头的值,就会成为前行的子行。
如果没有将useTreeField指定为true,通过treeField而指定的位置的值就不会被添加到数据组。 在DataSet.setFields时,需要忽视treeField位置,并添加字段。 如果想使用为字段值,就需要将useTreeField指定为true,并且当DataSet.setFields时,在treeField位置上,添加字段。
如果rows并不是根据treeField而排序的状态,就需要通过将sortRows指定为true而首先进行排序。
// 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);
// 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);