Flex Tree 實踐

在這裏給你們記錄下我學習的Flex樹 網上準備Flex Tree的數據源大都XML類型,我以爲XML不夠ArrayCollection靈活,並且在網上用ArrayCollection做數據源的不多,因此在此記錄下來node

1.準備樹結點類ide

package util
{
 import mx.collections.ArrayCollection;
 public class Node
 {
  public var id:String
  public var name:String;
  public  var children:ArrayCollection;
  public function Node()
  {
  }學習

 }
}spa

這個純粹是一個相似Java Pojo的類,負載樹的結點數據,在這個類中有個屬性children ,目前我不知道這是否是Flex 樹的內部屬性,有了這個children屬性,是ArrayCollection類型,這個屬性的值是node結點的集合,那麼Flex Tree會將其自動識別爲子結點,在界面上添加到當前結點下面(這個也太強大了吧)遞歸

2.Flex Tree as(這裏只寫簡單代碼)ci

var nodes:ArrayCollection  = new ArrayCollection();  //第一層樹結點數據it

var nodesChildren:ArrayColleciton = new ArrayCollection; //孩子結點集合io

var aNode:Node = null;   //樹結點function

//先準備須要的子結點數據class

aNode = new Node();

aNode.id = "00";

aNode.name = "孩子結點1";

aNode.children = null;   //當前結點若是沒有孩子結點那麼children設爲null,若是有,則賦值爲它的孩子集合,Flex Tree遞歸加載

nodesChildren.addItem(aNode);

aNode = new Node();

aNode.id = "01";

aNode.name = "孩子結點2";

aNode.children = null; 

aNode = new Node();

nodesChildren.addItem(aNode); 

 //孩子結點數據準備完畢

 

//準備父節點數據

aNode.id = "0";

aNode.name = "父結點1";

aNode.children = nodesChildren;  //在這裏將父節點的孩子結點數據加進去

nodes.addItem(aNode);

aNode.id = "1";

aNode.name = "父結點2";

aNode.children = null;   //假設父節點2沒有孩子結點

nodes.addItem(aNode);

//父節點數據準備完畢

//實例化一棵樹

var exampleTree:Tree = new Tree();

exampleTree.dataprovider = nodes; //在這裏將第一層樹結點數據源綁定到樹上

到這裏採用集合做爲數據源的樹就能夠顯示出來了,界面例子就不貼上了

相關文章
相關標籤/搜索