2011-09-09 9 views
0

は、人の名前で私たAdvancedDataGridグループが必要ですが、のGroupingFieldはたAdvancedDataGridのGroupingField

「objectPeople.idPeople」を受け入れないのGroupingFieldの名前を「objectPeople.idPeople」を受け付けないので、私は問題を抱えていますか?

GroupingField name = "people.idPeople" < --error ??

+0

groupingField="idPeople" -

あなたのアイテムの内部idPeopleプロパティでobjectPeopleを持っている場合は、あなたが(例えば)複数のレベルを回避しgroupinfフィールドのプロパティでその名前を指定するために、あなたのアイテムゲッターを書くべき高度なデータグリッドのデータプロバイダ?いくつかのコードを与える..とにかく人工知事は素敵な説明をした。 –

答えて

1

これは、フィールド処理でドットが使用できないためです。

説明。あなたの項目からgroupingFieldプロパティに対処

内部データグリッドは、角括弧演算子で開催されています

item[groupingField] 

これだけのアドレッシング1つのレベルをサポートしています。例えば。あなたがオブジェクト内のオブジェクトを持っている場合は、最初の角括弧と二番目の性質に対処することはできません。

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"と指定する必要があります。ある何

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

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

素敵な説明:) –

関連する問題