AdvancedDataGrid GroupingField - PullRequest
       1

AdvancedDataGrid GroupingField

0 голосов
/ 09 сентября 2011

нужна моя группа AdvancedDataGrid по имени человека, но у меня возникли проблемы, потому что groupingField не принимает "objectPeople.idPeople"

имя группы группировки не принимает "objectPeople.idPeople"?

GroupingField name = "people.idPeople" <- ошибка ?? </p>

1 Ответ

1 голос
/ 09 сентября 2011

Это потому, что точка не допускается при обработке поля.

Пояснение .

Внутри 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...