0
트리 구성 요소로 작업 중이며이 트리의 데이터 공급자를 채우는 데 문제가 있습니다.무한한 부모와 자식이있는 플렉스 트리
데이터베이스에서 가져온 데이터는 값 개체의 간단한 배열입니다. 각 값 개체에는 2 개의 속성이 있습니다. ObjectID 및 ParentID. 부모의 경우 ParentID는 null이고 자식의 경우 ParentID는 부모의 ObjectID입니다.
이 문제에 대한 도움을 주시면 대단히 감사하겠습니다.
기본적으로 나무는 다음과 같이 보일 것이다 :
Parent1
Child1
Child1
Child2
Child1
Child2
Parent2
Child1
Child2
Child3
Child1
를이 내가 함께 테스트입니다 현재 코드입니다 :
: 여기public function setDataProvider(data:Array):void
{
var tree:Array = new Array();
for(var i:Number = 0; i < data.length; i++)
{
// do the top level array
if(!data[i].parentID)
{
tree.push(data[i], getChildren(data[i].objectID, data));
}
}
function getChildren(objectID:Number, data:Array):Array
{
var childArr:Array = new Array();
for(var k:Number = 0; k < data.length; k++)
{
if(data[k].parentID == objectID)
{
childArr.push(data[k]);
//getChildren(data[k].objectID, data);
}
}
return childArr;
}
trace(ObjectUtil.toString(tree));
}
내 데이터의 단면이다
ObjectID ParentID
1 NULL
10 NULL
8 NULL
6 NULL
4 6
3 6
9 6
2 6
11 7
7 8
5 8