2016-04-26 6 views
2

私はWebix datalayoutの構造を評価しており、深い階層構造でデータをロードしようとしています。Webix datalayoutの階層データセット

私はdatalayout内GROUPLISTを使用する場合は、すべてがスムーズに動作し、

webix.ui({ 
    view:"datalayout", 
    rows:[ 
    { name:"$value", type:"header", template:"#panel#" },  
    { name:"any", view:"grouplist", template:"#value#" },  
    ], 
    data:[ 
    { panel:"1", any:tree_data }, 
    { panel:"2", any:cars_data } 
    ] 
}); 

が、私は木を埋め込むしようとしていたときに、デフォルトのツリーのテンプレートがありません。コードスニペット:この動作に関する

http://webix.com/snippet/8aa53125

は好奇心が強いです。多分私は何か重要なことを逃したでしょうか?

答えて

4

階層コンポーネントは、消費後に元のデータセットを破損します。したがって、同じデータオブジェクトを1つの階層コンポーネント、ツリーまたはグループリストにのみ供給できます。

//this will work 
rows:[ 
    { name:"$value", type:"header", template:"#panel#" },  
    { name:"any", view:"tree" } 
    ], 

//this one will not work 
rows:[ 
    { name:"$value", type:"header", template:"#panel#" },  
    { name:"any", view:"tree" } 
    ], 

あなたが本当に同じデータを消費するGROUPLISTと木の両方を持っている必要がある場合は、次の

rows:[ 
    { view:"grouplist", id:"l1" },  
    { view:"tree", id:"t1" } 
    ], 
// and later 

$$("l1").parse(webix.copy(data.any)); 
$$("t1").parse(webix.copy(data.any)); 
のように、webix.copyを使用して、コンポーネントに通常のレイアウトと負荷データでそれらを作成することができます