Это потому, что точка не допускается при обработке поля.
Пояснение .
Внутри DataGrid-адресации 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
внутри вашего предмета, вы должны (например) написать геттер в вашем предмете, чтобы избежать множественногоуровни и укажите его имя в свойстве поля groupinf - groupingField="idPeople"
:
public function get idPeople():Number
{
return objectPeople.idPeople;
}
// ...
trace(item["idPeople"]); // works now