社員ブログ
HOME  社員ブログ
ホーム > Action Script, Flex, 社員:cobra > FLEX asでTreeのXMLListを操作する方法。

FLEX asでTreeのXMLListを操作する方法。

2011年09月9日 13時52分01秒

こんにちは、コブラです。


mxml側でXMLを定義することはどのサイトでもやってますが、

ActionScript側で定義することについて触れているサイトが少なかったので、

数日かけて辿り着いた(泣笑)方法をご紹介します。


AS側で動的にTreeのメニューを生成する方法です。


■MXML側

 <mx:XMLList id=”testXML” xmlns=””>
 </mx:XMLList>
<mx:Tree id=”treeType” dataProvider=”{testXML}” left=”0″ right=”0″ top=”0″ bottom=”0″
  showRoot=”false” labelField=”@label”>
</mx:Tree>


■AS側

   this.parent.testXML = new XMLList(<root></root>);
   var node:XML = new XML();
   // メニュー追加
   node = <node label=”ツリー1” value=”tree1″  />;
   this.parent.testXML.appendChild(node);

   // メニューと子メニュー追加
   node = <node label=”ツリー2” value=”tree2″  />;
   var node2:XML = new XML();
   node2 = <node label=”子ツリーA” value=”tree2_1″ />;
   node = node.appendChild(node2); // 親メニューにappendChildする
   this.parent.testXML.appendChild(node);


こんな感じ!

子メニューの追加方法が分からなかったのと、

MXML側に<root></root>タグ書いちゃうと、

showrootプロパティの指定が効かないことが判明!

ハマった・・・これはハマった…orz


孫メニューを追加する場合は、

子と同じようにnode3変数を作ってnode2にappendChildしてやればよし!

複数追加する場合はどんどんappendChildすればよし!


XMLはどうも苦手です(´・ω・`)

Action Script, Flex, 社員:cobra

  1. コメントはまだありません
  1. トラックバックはまだありません