首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP填充多个Flex4.5 ComboBoxes

使用PHP填充多个Flex4.5 ComboBoxes
EN

Stack Overflow用户
提问于 2011-10-08 01:12:46
回答 1查看 639关注 0票数 0

我到处找,都找不到我的问题的答案。在使用Flex 4.5和PHP 5时,填充多个组合框的最佳方式是什么?

我正在开发一个Flex应用程序,在屏幕上显示大约20个组合框-每个组合显示不同的数据。我希望在应用程序启动时立即填充所有的组合框。我在Flex中使用了默认的“数据/服务”向导,它会自动创建将ArrayCollection返回给Flex的PHP。例如,下面是我当前使用的填充每个ComboBox的PHP函数:

代码语言:javascript
复制
public function getListsByCODE($code) {

    $stmt = mysqli_prepare($this->connection, "SELECT a.IDCODE, a.CODE, a.DESCR, a.NOTES FROM DROPDOWN_VW a WHERE (a.CODE = ?)");
    $this->throwExceptionOnError();

    mysqli_stmt_bind_param($stmt, 's', $code);
    $this->throwExceptionOnError();

    mysqli_stmt_execute($stmt);
    $this->throwExceptionOnError();

    $rows = array();

    mysqli_stmt_bind_result($stmt, $row->IDCODE, $row->CODE, $row->DESCR, $row->NOTES);

    while (mysqli_stmt_fetch($stmt)) {
        $rows[] = $row;
        $row = new stdClass();
        mysqli_stmt_bind_result($stmt, $row->IDCODE, $row->CODE, $row->DESCR, $row->NOTES);
    }

    mysqli_stmt_free_result($stmt);
    mysqli_close($this->connection);

    return $rows;
}

这很好用..。除了我必须从Flex提交20个调用-每个调用为每个组合框返回不同的数据-这会产生大量的开销。

我正在考虑从数据库中返回所有行(使用一个调用),然后使用Flex中的一个方法轻松解析(e4x?)通过数据来专门填充每个组合框。例如,我的数据行可能如下所示:

代码语言:javascript
复制
CODE    DESCR
------- -----------
Fruit   Apple   
Fruit   Orange
Drink   Soda
Drink   Water
Drink   Wine
Candy   Gummy Bears

在Flex语言中,我可以(轻松地)将ArrayCollection转换为XML语言,并使用e4x将类似于"...lastResultFood='Fruit'“的内容填充到dataProvider中。

让PHP以一种使Flex成为XMLListCollection的方式返回XML (假设这就是我在e4x中需要的)?

让PHP正确返回一个我可以直接引用“ArrayCollection”集合的多维Fruit?对于这个问题,我尝试了以下PHP代码:

我在上面的代码中将“$rows=$row;”修改为"$rows$rows-> code =$row;“。

这看起来很好用- PHP发送了一个带有水果集合、饮料集合等的ArrayCollection (我在Flex中使用‘测试操作’时看到了这一点)-但在尝试引用对象时得到了一个TypeError (TypeError: error #1034:类型强制失败:无法将[]@143f1b29转换为mx.collections.IList):

dataProvider="...lastResult.source.Fruit“

有没有更有效的方法?

有谁有什么想法吗?非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-09 00:01:05

请注意,我是一个Flex的笨蛋,但是如果我要这样做,并且我有一个ArrayCollection -好吧,其余的看起来像蛋糕:每个组合框都有它自己的数据源;初始化这些数据源(例如,为了简单起见,它们的数组);迭代ArrayCollection,填充数据源(当然,ArrayCollection列索引和每个数据源的数组索引之间的对应关系将使这非常容易)。至少在我看来,这是你可以做到的。可能这个响应太晚了:(

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7690583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档