0
我正在研究一個樹組件,並且我正在爲此樹填充數據提供程序時遇到一些問題。帶有無限父母和子女的彈性樹
我從數據庫中取回的數據是一個簡單的值對象數組。每個值對象都有2個屬性。 ObjectID和ParentID。對於父母,ParentID爲空,對於孩子,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