Flex 4数据管理 - 我该如何处理?

时间:2010-08-06 13:16:42

标签: database flex actionscript-3 service flex4

这里有一个很好的解释,希望有人耐心通过

阅读

我正在Flex 4中构建一个处理订购系统的应用程序。我有一个小的mySql数据库,我在php中编写了一些服务来处理数据库。

基本上逻辑是这样的:

我有客户,产品,产品组,订单和订单内容的表格

我对产品,订单和客户的CRUD管理没有任何问题,客户将填写的订单提交令我头疼:

我想要的是显示按组排序的dataGrids中的产品,这些产品将通过php-services填充Flex数据管理,而且本身没有问题。但我还想在数据网格中添加一个额外的列,用户可以用他希望订购的产品来填写。理论上,该列将通过php服务绑定到db表“orderContent”。

问题是您需要首先在数据库中创建一个数据可以绑定到的新订单(orderContent链接到数据库中的订单)。

每次用户进入页面查看产品时,我都不想创建新订单,而是在按下按钮时创建订单,然后从页面上的datagrids中获取所有内容并提交它进入数据库。

我的想法是创建一个单独的单列数据网格,将其排列在包含产品的数据网格旁边,在该数据网格中,用户可以输入他想订购的产品数量。

我创建了一个valueObject,其中包含订单所需的数据:

代码:

package valueObjects
{
  public class OrderAmount
  {

    public var productId:int;
    public var productAmount:int;
    public var productPrice:Number;

    public function orderAmount()
    {
    }
  }
}

我的想法是使用服务从某个组获取所有产品,用数据填充ArrayCollection,然后将该ArrayCollection中的每个对象传输到上面的Value Object的实例,将value对象添加到另一个ArrayCollection,将被用作单列数据网格的dataProvider(我只会显示最初设置为零的数量,但在将其传输到数据库时使用其他数据)

我尝试使用自动生成的serviceResults中的结果来检索datagrid的产品并放入一个传递valueobjects的resultHandler,但这似乎不起作用。

基本上我的问题是:我接近这件事是完全错误的,还是有办法让我按照我的计划工作?

我是否需要创建一个全新的服务请求来获取产品ID:s和价格来填充单列数据网格。

如果有帮助,我会发布一些代码。

谢谢你,如果你读到这一点。

1 个答案:

答案 0 :(得分:1)

通过创建一个Value Object类来保存网格中每一行所需的所有信息以及从返回组中所有产品的php服务解决它,我循环遍历结果并将所需数据传输到我的Value Object中

然后我将每个Value Object添加到一个ArrayCollection中,并将其作为dataGrid的dataProvider。

无需使用两个网格。当你将datagrid数据看作是一个ArrayCollection而忘记了它在屏幕上的直观呈现时,我忘记了逻辑事物是如何得到的。

加入一些物品,整件事情很漂亮!