2016-09-26 5 views
0

いくつかの階層的なデータを表示するために私はwebix grouplistを使用しています。そして、データセットが変更された後、グループリストの状態を以前に開いた状態に戻す必要があります。
私はオープン状態のgetOpenState()を保存する方法を見つけましたが、そのAPIにはsetOpenState()のようなメソッドがないようでした。 これは開いた状態を得るための方法である:
Webix Grouplist。どのように以前に開いた状態に戻りますか?

webix.ui({ 
    view:"grouplist", 
    data:[ //hierarchical JSON dataset 
     {id:"root", value:"Films data", open:true, data:[ 
      { id:"1", open:true, value:"The Shawshank Redemption", data:[ 
       { id:"1.1", value:"Part 1" }, 
       { id:"1.2", value:"Part 2", data:[ 
        { id:"1.2.1", value:"Page 1" }, 
        { id:"1.2.2", value:"Page 1" } 
        ]}, 
       { id:"1.3", value:"Part 3" } 
      ]}, 
      { id:"2", open:true, value:"The Godfather", data:[ 
       { id:"2.1", value:"Part 1" } 
      ]} 
     ]} 
}); 


var state = $$('grouplist1').getOpenState(); 
if(state){ 
    result = JSON.stringify(state); 
    webix.message(result); 
    } 
}; 

答えて

1

まあ、解決策は非常に簡単でした:クリックで
1.取得項目ID。方法.showItem(ID)を用いて

onItemClick: function (id, e, node) { 
      setTimeEntry(this.getItem(id)); 
      webix.storage.local.put("id", id); 
     } 

2表示項目

onAfterLoad: function() { 
       this.hideOverlay(); 
       checkOptions(); 
       var itemId = webix.storage.local.get("id"); 
       if (itemId !== null && itemId !== undefined) 
       this.showItem(itemId); 
    } 
関連する問題