【问题标题】:How to load DropDownList with HTTPService in other class如何在其他类中使用 HTTPService 加载 DropDownList
【发布时间】:2012-02-06 14:40:31
【问题描述】:

我有一个带有多个 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 在单独的文件中,我不知道该怎么做。

你能帮帮我吗?

谢谢

【问题讨论】:

    标签: actionscript-3 apache-flex flash-builder


    【解决方案1】:

    您需要进行更改,以便您的 ArrayCollection 成为 DpDDLCustomer 类上的可绑定属性(请注意,以大写字母开头的类命名被认为是最佳实践——您可能记得在创建时看到过这样的警告类)。

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

    我曾经在网上有一些示例,但似乎我的子域已关闭。我会尽力查明真相并回帖。

    【讨论】:

    • 谢谢。但是对于我这样的新手来说,这似乎很难。所以如果你能给我一个样本,这对我很有帮助。谢谢
    • 将所有httpservice调用放在单独的AS文件中并将其包含在mxml文件中是个好主意吗?
    猜你喜欢
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    相关资源
    最近更新 更多