Управление данными Flex 4 - как мне к этому подойти? - PullRequest
1 голос
/ 06 августа 2010

вполне объяснение здесь, надеюсь, у кого-то хватит терпения прочитать его через

Я создаю приложение во Flex 4, которое обрабатывает систему заказов.У меня небольшая база данных mySql, и я написал несколько служб на php для обработки базы данных.

В основном логика выглядит так:

У меня есть таблицы для клиентов, продуктов, групп товаров,orders, и orderContent

У меня нет проблем с CRUD-управлением продуктами, заказами и клиентами, именно представление заказа, которое заполнит клиент, вызывает у меня головную боль:

ЧтоЯ хочу показать продукты в dataGrids, упорядоченные по группам, которые будут заполнены Flex datamanagement через php-сервисы, и это само по себе не проблема.Но мне также нужен дополнительный столбец в таблице данных, который пользователь может заполнить желаемой суммой заказа этого продукта.Затем этот столбец теоретически связывался бы с таблицей БД "orderContent" через службы php.

Проблема заключается в том, что вам сначала нужно создать новый порядок в базе данных, к которому могут быть привязаны данные (orderContent isсвязан с заказом в БД).

Я не хочу создавать новый заказ каждый раз, когда пользователь заходит на страницу, чтобы посмотреть на продукты, скорее я хотел бы создать заказ при нажатии кнопкиа затем взять все данные из таблицы данных на странице и отправить их в базу данных.

Моя идея состояла в том, чтобы создать отдельную таблицу данных с одним столбцом, расположить ее рядом с сеткой данных, содержащей продукты, и в этомСетка данных. Пользователь сможет ввести количество того товара, который он хотел бы заказать.

Я создал объект ValueObject, содержащий данные, которые мне понадобятся для заказа:

Код:

package valueObjects
{
  public class OrderAmount
  {

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

    public function orderAmount()
    {
    }
  }
}

Моя идея состояла в том, чтобы использовать сервис для получения всех продуктов определенной группы, заполнить ArrayCollection данными, а затем передатьЕсли каждый объект в этой коллекции ArrayCollection добавлен к экземпляру объекта Value, описанного выше, добавьте объект значения в другую коллекцию ArrayCollection, которая будет использоваться в качестве dataProvider для сетки данных с одним столбцом (я бы отображал только количество, которое сначала будет установлено равным нулю, но используйте другие данные при передаче их в базу данных)

Я пытался использовать результаты автоматически сгенерированных serviceResults, которые извлекают продукты для сетки данных и помещают в resultHandler, который передает объекты-значения, однакопохоже, это не сработает.

По сути, мой вопрос таков: я подхожу к этой вещи совершенно неправильно, или есть ли способ заставить ее работать так, как я планировал?

Будет лиМне нужно создать совершенно новый запрос на обслуживание, чтобы получить идентификаторы продукта и цену для заполнения сетки данных из одного столбца.

Я опубликую некоторый код, если это поможет.

Спасибо, если вы прочитали это далеко.

1 Ответ

1 голос
/ 12 августа 2010

Решил это, создав класс Value Object, чтобы хранить всю информацию, необходимую для каждой строки в сетке, и из службы php, которая возвращала все продукты в группе, я перебрал результат и передал необходимые данные в мой Value Value .

Затем я добавил каждый объект Value в ArrayCollection и сделал dataProvider для dataGrid.

Нет необходимости использовать две сетки. Я забыл, как обстоят дела с логикой, когда вы думаете о данных сетки данных просто как о коллекции ArrayCollection и забываете ее визуальное представление на экране.

Положите несколько предметовRenderers, и все это прекрасно!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...