Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 在flex树项目渲染器中弹出_Apache Flex_Actionscript_Flex3 - Fatal编程技术网

Apache flex 在flex树项目渲染器中弹出

Apache flex 在flex树项目渲染器中弹出,apache-flex,actionscript,flex3,Apache Flex,Actionscript,Flex3,我有一个mx:tree,它的TreeItemRenderer如下所示 Parent1删除|重命名 孩子1 孩子2 Parent2删除|重命名 孩子3 孩子4 删除和重命名是链接按钮 现在,当我单击“重命名”时,弹出窗口应该显示为 OldName : Parent1(Text Input showning present Name) Enter New Name: Parent1NewName(Text Input for entering New name)

我有一个mx:tree,它的TreeItemRenderer如下所示

Parent1删除|重命名 孩子1 孩子2 Parent2删除|重命名 孩子3 孩子4

删除和重命名是链接按钮

现在,当我单击“重命名”时,弹出窗口应该显示为

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

         OK | CANCEL Buttons 
输入新名称后,单击“确定”,弹出窗口应关闭,并需要在treeItemRenderer中获取值

我有在TreeItemRenderer中重命名Parent1的逻辑,并且我能够在弹出的OldName TextInput中获取Parent1。但是在输入新名称后,我无法在TreeItemRenderer中获取新名称。请帮助我


提前感谢:

实现目标有两种方法:

1将当前XML节点传递给对话框,而不是当前实现中的纯标签。当用户按Ok时,只需将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 node.@label;
        }
    ]]>
    </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 ? tree.selectedItem.@label : ''}" />
            <mx:Button click="tree.selectedItem.@label = labelEdit.text" label="Apply" />
        </mx:HBox>
    </mx:VBox>
</mx:Application>

2使用label字段、labelSubmit和labelCancel事件创建自定义事件类,并通过labelSubmit事件传递新标签值,从对话框中启动该类。并将新标签设置为XML节点,如对话框的事件处理程序中所述。

树数据提供程序由哪种数据组成?