SMART datagrid v.1 > Classes > TreeDataSet

Back  Forward

DataLudi.TreeDataSet.setRows  method

既存の行達をすべて削除して、パラメーターrowsで渡した値たちをデータ行達として追加する。 

rowsの各行はフィールド順に値がセーブされたアレイか、 フィールドの名前をプロパティーとするjson客体であり得る。 

ツリーを構成する時、rowsの一番目の行から順番にデータ行で変換、追加する。 この時、treeFieldで指定した位置の値がツリー階層を決める値となる。 つまり、現在変換中のtreeFieldフィールドの値が以前の行の値で始まれば以前の行の子行になる。 

useTreeFieldtrueで指定しなければtreeFieldで指定した位置の値たちはデータセットに追加されない。 setFieldsの時treeFieldの位置はないものとみなしてフィールド達を追加しなければならない。 もし、フィールドの値で使いたいのであればuseTreeFieldtrueにして、 setFieldsの時にtreeField位置にフィールドを追加しなければならない。 

もし、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