AdvancedDataGridで階層表示
AdvancedDataGrid で階層表示するには、HierarchicalData 形式でデータを渡さないといけないと思っていた。
select結果を整形するの面倒だなと思っていたが、そんなことはまるで不要。
Helpにきちんと書いてあった。
以下、引用
--
AdvancedDataGrid コントロールにグループ化データを設定するには、まずフラットなデータから GroupingCollection クラスのインスタンスを作成し、その GroupingCollection インスタンスを AdvancedDataGrid コントロールのデータプロバイダに渡します。フラットなデータから GroupingCollection のインスタンスを作成する際は、そのデータの中で、階層構造を作成するために使用するフィールドを指定します。
--
DBからはそのままselect結果を返せばOKで、グループ化するフィールドを指定。
<mx:dataProvider>
<mx:GroupingCollection id="gc" source="{expenses}">
<mx:grouping>
<mx:Grouping>
<mx:GroupingField name="Region"/>
</mx:Grouping>
</mx:grouping>
</mx:GroupingCollection>
</mx:dataProvider>
でいけた。
ただし、表示用データを更新した際は、GroupingCollection をリフレッシュしないといけない。
検索結果をセットした後、
gc.refresh();
できれいに反映された。