Treeにデータを表示する

Treeコンポーネントにはデータが表示されていません。
表示するためにはdataProviderをバインドする必要があります。
このdataProviderを作るためにはいろいろな方法があるみたいですが、とりあえず簡単なXMLを作ってそれをバインドしてみる事にします。

SummaryList.xml

<?xml version="1.0" encoding="Shift_JIS"?>
<SummaryList>
	<Message data="5" label="スレッド3"/>
	<Message data="4" label="スレッド2">
		<Message data="3" label="Re:スレッド2-2"/>
		<Message data="2" label="Re:スレッド2-1"/>
	</Message>
	<Message data="1" label="スレッド1"/>
</SummaryList>

バインドするXMLにlabelという属性を付与しておくと、Treeのラベルに使用されるようです。
このXMLをWebアプリケーションルートにおいて、上記のbbs.mxmlに下記を追加します。

さらにTreeコンポーネントのdataProvider属性に、XMLのidを表記します。
id属性は文字どおり識別子ですが、ActionScript内で変数扱いすることが可能です。
変数をコンポーネントにバインドする場合は{}でくくるようです。
つまり、

とします。


修正したbbs.mxmlは以下の様になります。

mxmlを別ウインドウで表示


Treeはこのようになりました。

このように比較的簡単にインターフェースが構築できます。
・・というか、じつはここまで来るのにけっこう時間かかったんだけど(笑)。
まぁ、とにかくXMLだけでここまでインターフェースが作れ、しかも出来上がるのがFLASHということは・・・良い時代になりました!