如何在其他类中使用HTTPService加载DropDownList

时间:2012-02-06 14:40:31

标签: actionscript-3 flex flash-builder

我有一个包含多个DropDownLists的mxml表单。

这些DropDownLists在此类中加载了一个数组集合:

package fr.intersystemes.DataProvider
{
    import fr.internity.config.urlManager;

    import mx.collections.ArrayCollection;
    import mx.rpc.events.FaultEvent;
    import mx.rpc.events.ResultEvent;
    import mx.rpc.http.HTTPService;

    public class dpDDLCustomer
    {



        public function dpDDLCustomer()
        {
        }

        public function onFault(event:FaultEvent):void
        {
            trace(this + event.fault.toString());
        }
        public function serviceCustomCivil():ArrayCollection
        {
            var DP_CUS_CIVIL:ArrayCollection ;

            DP_CUS_CIVIL = new ArrayCollection (
                [{label:"Monsieur" , data:"0"},
                {label:"Madame", data:"1"},
                {label:"Mademoiselle", data:"2"},
                {label:"Le Jeune", data:"3"}]

                );

            return DP_CUS_CIVIL;

        }
}

但是现在我想查询数据库以加载ArrayCollection。我知道如果我将HTTPService和DropDownList放在同一个MXML文件中怎么做,但如果HTTPService在单独的文件中我不知道怎么做。

你能帮帮我吗?

由于

1 个答案:

答案 0 :(得分:1)

您需要更改内容,以便您的ArrayCollection是DpDDLCustomer类上的可绑定属性(请注意,将大写字母命名为Classes的最佳做法 - 您可能还记得在创建时看到该效果的警告班级)。

然后你所要做的就是创建一个该类的共享实例(自动化依赖注入框架,如Robotlegs可以使这更容易,但还有其他方法 - 回发你需要帮助)或只分享暴露的ArrayCollection变量(同样,一个共享实例)。当服务返回信息时,它会填充共享实例本身或生成一个事件,告诉较高的控件组件填充AC。

我以前在网上有一些例子,但似乎我的子域名已关闭。我会试着深究它并回发。