【问题标题】:Adding an item in list in flex在flex中的列表中添加一个项目
【发布时间】:2011-10-05 14:52:04
【问题描述】:

大家好,我在组件 mxml 文件中有一个列表控件。我在主 mxml 文件中创建了一个函数,我想输入一个文本字符串并将其添加到此列表中。我怎样才能做到这一点。目前正在使用此代码

public function add(event:MouseEvent):void
        {
            var name:String = mytextinputid.text;
            currentState = 'ChatScreen';
                mylist.____     
        }

注意这个函数在main中,mylist列表控件在组件mxml中

最好的问候

【问题讨论】:

    标签: apache-flex actionscript


    【解决方案1】:

    如果你为你的组件分配了一个id,我假设它是mylist,你只需调用

    myList.dataProvider.addItem(name);
    

    您应该始终将dataProvider 设置为myList。或者你可以在运行时设置一个。

    var myCollection:ArrayCollection = new ArrayCollection();
    myCollection.addItem(name);
    myList.dataProvider = myCollection;
    

    或者您可以从 MXML 中指定 dataProvider

    <mx:List id="myList" dataProvider="{myCollection}"/>
    

    【讨论】:

    • 好的,谢谢,但是当列表位于组件 mxml 中并且我要调用它的函数位于 main.mxml 中时,我如何访问 list.dataprovider
    • 组件也有一个 id 对吧?您可以像myComponent.myList.dataProvider 一样访问它。如果这不能回答您的问题,我建议您向我们展示您的代码,了解组件和 main 之间的关系。
    • 我有一个 main.mxml,其中有一个按钮和一个文本框,我想输入文本,然后单击按钮将其添加到列表中。现在该列表位于名为 panel.mxml 的 mxml 组组件文件中。现在使用按钮我可以调用一个在文本框中添加字符串的函数
    • 我尝试给它 id ,给出了不能在根标签处给出 id 的错误
    • 您需要在 mxml 中为 panel.mxml 文件提供 id。然后你可以从外部访问它的孩子,比如“yourPanel.mydatagrid.dataProvider = yourData;”请记住,如果您将 arrayCollection 作为 dataProvider 绑定到某些控件,则必须将其声明为可绑定元标记。
    猜你喜欢
    • 2021-12-22
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多