階層データプロバイダの使用

ツリーのブランチとリーフ、Menu サブメニューとアイテムなど、ノードとサブノードから成るネストした階層を表示するコントロールでは、階層データプロバイダを使用します。次のコントロールは、階層データプロバイダを利用します。

階層コンポーネントはすべて、データプロバイダの操作に同じメカニズムを使用します。このセクションの例では Tree コントロールを使用していますが、これは他のコンポーネントにも適用できます。

サブトピック

階層データプロバイダについて
データ記述子と階層データプロバイダ構造
XML データプロバイダの使用
XMLListCollection クラスの使用

階層データプロバイダについて

Flex フレームワークはデフォルトで、次の 2 種類の階層データソースをサポートします。

XML は次のいずれかにすることができます。整形式の XML を含む String、XMLXMLListXMLListCollection オブジェクト (<mx:XML> および <mx:XMLList> コンパイル時タグによって生成されるオブジェクトを含みます。これらのタグはデータバインディングをサポートします。データバインディングを ActionScript で直接実行することはできません)。Flex では、整形式 XML のネスト階層を反映する Tree またはメニューコントロールを自動的に構成できます。

Object は、ノードの子が children フィールドに格納された構造を持つ、ネストされた Object または Object サブクラス (Array または ArrayCollection オブジェクトを含む) の任意の組み合わせにすることができます。詳細については、カスタムデータ記述子の作成を参照してください。<mx:Model> コンパイル時タグを使用して、データバインディングをサポートするネストされたオブジェクトを作成できますが、その場合はTree およびメニューコントロールでの <mx:Model> タグの使用で定義された構造に従う必要があります。

子を可変名のフィールドに格納できるネストされた Object など、上記以外の階層データプロバイダ構造のサポートも追加できます。


Flex 2.01