2011-05-09 65 views
0

我有一个如下所示的带有TreeItemRenderer的mx:tree。在弹性树项目渲染器中弹出

Parent1(删除|重命名)
Child1
CHILD2
Parent2(删除|重命名)
Child3
Child4

删除和重命名的链接按钮现在

当我点击重新命名popup应显示为

OldName  : Parent1(Text Input showning present Name) 
    Enter New Name: Parent1NewName(Text Input for entering New name) 

     OK | CANCEL Buttons 

Afetr输入新名称,单击确定,弹出窗口应该关闭,并需要获取treeItemRenderer中的值。

我在检测TreeItemRenderer重命名Parent1逻辑还我为能够得到Parent1在弹出OLDNAME TextInput.But输入新的名称IM没能获得新的名字在TreeItemRenderer.Please帮我后提前出局:)

+0

您的树型数据提供程序包含哪些类型的数据? – Constantiner 2011-05-09 09:22:12

+0

xml列表集合 – 2011-05-09 10:54:47

回答

0

感谢您有两种方式来达到自己的目标:

1)通电流XML节点到你的对话,而不是纯标签(在当前的实现)。当用户按下确定只是新在下面的示例代码替换旧标签,在XML:

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application layout="absolute" xmlns:mx="http://www.adobe.com/2006/mxml"> 
    <mx:Script> 
    <![CDATA[ 
     [Bindable] 
     private var rawData:XML = <tree><parent label="Parent1"><child label="Child1"/><child label="Child2"/></parent> 
       <parent label="Parent2"><child label="Child3"/><child label="Child4"/></parent></tree>; 

     private function displayLabel(node:XML):String 
     { 
      return [email protected]; 
     } 
    ]]> 
    </mx:Script> 
    <mx:VBox horizontalCenter="0" verticalCenter="0"> 
     <mx:Tree dataProvider="{rawData}" height="300" id="tree" labelFunction="displayLabel" showRoot="false" 
      width="300" /> 
     <mx:HBox enabled="{tree.selectedItem}"> 
      <mx:TextInput id="labelEdit" text="{tree.selectedItem ? [email protected] : ''}" /> 
      <mx:Button click="[email protected] = labelEdit.text" label="Apply" /> 
     </mx:HBox> 
    </mx:VBox> 
</mx:Application> 

2)label场和"labelSubmit""labelCancel"事件创建自定义事件类,并从你的对话框启动它通过新标签值与"labelSubmit"事件。并在对话框的事件处理程序中将新标签设置为XML节点(如上所述)。