Pessoal, Segue a minha solução (mas estou certo de que existem soluções melhores):
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="getInitialData();"> <mx:Script> <![CDATA[ import mx.controls.Alert; import mx.collections.XMLListCollection; private const FOLDER:String = "folder"; private const COURSE:String = "course"; private const MODULE:String = "module"; [Bindable] private var types: Array = [FOLDER,COURSE,MODULE]; [Bindable] private var coursesList:XML = <list><node objectID="6" name="CF" parentID="1" recordType="course"><node objectID="7" name="CFC" parentID="6" recordType="module"/><node objectID="8" name="CFAdmin" parentID="6" recordType="module"/><node objectID="9" name="CFML" parentID="6" recordType="module"/><node objectID="10" name="CFSCRIPT" parentID="6" recordType="module"/></node><node objectID="2" name="DataBase" parentID="1" recordType="folder"><node objectID="3" name="Oracle" parentID="2" recordType="course"><node objectID="4" name="PLSQL" parentID="3" recordType="module"/><node objectID="5" name="SP" parentID="3" recordType="module"/></node></node></list> ; [Bindable] private var courses:XMLListCollection; private function getInitialData():void { courses = new XMLListCollection(coursesList.node); } private function treeNodeLabelFunction(item:XML):String { return [EMAIL PROTECTED] + " (" + [EMAIL PROTECTED] + ")"; } private function moveNodeTest():void { if ([EMAIL PROTECTED] != MODULE) { btUp.enabled = false; btDown.enabled = false; } else { var modulesList:XMLList = myTree.selectedItem.parent().descendants(); if (modulesList[0] == myTree.selectedItem) { btUp.enabled = false; btDown.enabled = true; }else if (modulesList[modulesList.length()-1] == myTree.selectedItem) { btUp.enabled = true; btDown.enabled = false; } else { btUp.enabled = true; btDown.enabled = true; } } } private function moveNode(type:String):void { var i:Number; var module:XML; var aModule:XML; var tempNode:XML; if (type == "up") { module = XML(myTree.selectedItem); tempNode = XML(myTree.selectedItem).copy(); myTree.selectedIndex = myTree.selectedIndex - 1 aModule = XML(myTree.selectedItem); [EMAIL PROTECTED] = [EMAIL PROTECTED]; [EMAIL PROTECTED] = [EMAIL PROTECTED]; [EMAIL PROTECTED] = [EMAIL PROTECTED]; [EMAIL PROTECTED] = [EMAIL PROTECTED]; } else if (type == "down") { module = XML(myTree.selectedItem); tempNode = XML(myTree.selectedItem).copy(); myTree.selectedIndex = myTree.selectedIndex + 1 aModule = XML(myTree.selectedItem); [EMAIL PROTECTED] = [EMAIL PROTECTED]; [EMAIL PROTECTED] = [EMAIL PROTECTED]; [EMAIL PROTECTED] = [EMAIL PROTECTED]; [EMAIL PROTECTED] = [EMAIL PROTECTED]; } else { Alert.show("Error"); } moveNodeTest(); } ]]> </mx:Script> <mx:Tree id="myTree" dataProvider="{courses}" labelFunction="treeNodeLabelFunction" change="moveNodeTest()" width="200" showRoot="false" height="300"/> <mx:TextInput id="tiTemp" text="{myTree.selectedItem.parent()[EMAIL PROTECTED]" y="142" x="208"/> <mx:Button id="btUp" label="UP" enabled="false" click="moveNode('up')" x="209" y="189" width="58"/> <mx:Button id="btDown" label="Down" enabled="false" click="moveNode('down')" x="209" y="219" /> </mx:Application> -- Hamad Amaral [EMAIL PROTECTED] --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [EMAIL PROTECTED] Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---
