XML을 사용하지 않고서 트리를 만드는 방법을 소개 합니다. XML쓰면 가끔가다 뭐시기한것이 있어서리 ...
package wonsama.util.tree
{
import
mx.collections.ArrayCollection;
public class TreeNode
{
public var id:int; //아이디
public var name:String; //이름
public var type:int; //타입
//부모노드
public var parent:TreeNode;
//자식노드 집합체
[Bindable] public var children:ArrayCollection;
/**
* 자식을 추가한다.
* ==> 자식을 추가하는 동시 해당 자식의 부모가 설정된다
* @param node 추가하려는 자식
* */
public function addChild(node:TreeNode):void{
if(this.children == null){
this.children = new ArrayCollection;
}
node.parent = this;
children.addItem(node);
}
public function toString():String{
return name;
}
}
}
이런 식으로 클래스를 만들어서 Tree에 바인딩하여 사용하면 됩니다.
여기서 중요한 것은 children 이라는 변수명은 절대로 변경해서는 안됩니다. !!!!
[ Flex3 Tree Help 참조내용 ]
an Object class data provider must have all children in <code>children</code> fields.
- Test Code
private function createTree():void{
var
root:TreeNode = new TreeNode;
root.name = "호드종족";
var c1:TreeNode
= new TreeNode;
c1.name = "오크";
var c2:TreeNode
= new TreeNode;
c2.name = "타우렌";
var c3:TreeNode
= new TreeNode;
c3.name = "블러드엘프";
root.addChild(c1);
root.addChild(c2);
root.addChild(c3);
myTree.dataProvider = root;
}
<mx:Tree id="myTree" />
'etc > old' 카테고리의 다른 글
미리보기 켄버스 (0) | 2009.07.01 |
---|---|
Fixed Size of a Pie Chart (0) | 2009.07.01 |
차트에서 커서 위치를 따라다니는 십자선 그려주기 (0) | 2009.06.25 |
"연봉 1억에 개발자 모십니다" (0) | 2009.06.24 |
질서있는 아키텍처 패턴이야기-3 (0) | 2009.06.24 |