2011-09-09 17 views
0

需要我AdvancedDataGrid組由人的名字,但我有麻煩,因爲沒有的GroupingField接受「objectPeople.idPeople」AdvancedDataGrid的GroupingField

的的的GroupingField不接受「objectPeople.idPeople」這個名字?

GroupingField name =「people.idPeople」< - error?

+0

是什麼高級數據網格的數據提供者?給一些代碼..無論如何,moropus給出了很好的解釋。 –

回答

1

這是因爲在字段處理中不允許使用點。

說明

數據網格內解決因您的項目groupingField屬性舉行了方括號操作:

item[groupingField] 

這種尋址只支持一個級別。例如。如果你已經有了內部對象對象,你不能首先解決第二個用方括號的屬性:

var outer:Object = new Object(); 
var inner:Object = new Object(); 
outer["property"] = inner; 
inner["value"] = 0; 
trace(outer["property.value"]); // runtime error 
trace(outer.property.value); // traces 0 

outer["property.value"] = 1; // creates property "property.value" in outer 
trace(outer["property.value"]); // traces 1 
trace(outer.property.value); // still traces 0 

答案。

如果您的物品內有idPeople,則應指定groupingField="idPeople"

如果你有objectPeople與你的項目裏面idPeople屬性,則應(例如)在您的項目寫一個getter,以避免多層次,多groupinf字段屬性指定其名稱 - groupingField="idPeople"

public function get idPeople():Number 
{ 
    return objectPeople.idPeople; 
} 

// ... 
trace(item["idPeople"]); // works now 
+0

不錯的解釋:) –