Общий DataGrid для редактирования объектов, хранящихся на сервере - PullRequest
0 голосов
/ 23 июня 2011

Я собрал сервер Java / BlazeDS, который создает общий объект GridBean.Этот GridBean содержит:

  • List<ColumnDef>, где ColumnDef содержит заголовок столбца, имя поля
  • List<Object>, где мой объект - это некоторое Java Pojo, содержащее PropertyChangeSupport

Затем я создал приложение Flex, которое использует RemoteObjectServiceWrapper для вызова моего java-сервера, захватывает GridBean, создает несколько DataGrid столбцов из columnDefs, а затем устанавливает dataProvider в качестве списка.объектов.Хорошо, пока что все рендерится.

Теперь, что я действительно хотел бы сделать: настроить какой-нибудь обработчик событий на гибкой стороне, чтобы, если мой элемент / объект редактировался в сетке данных, яотправить сообщение в Java, сказав: «отредактировал это поле для этого элемента».Конечная цель состоит в том, чтобы иметь хороший общий способ визуализации любого списка объектов из Java в гибкой сетке данных.

1 Ответ

0 голосов
/ 24 июня 2011

По сути, вы говорите о ManagedObjects, которые изначально не поддерживаются в BlazeDS.(Он доступен как готовая функция LCDS).

Однако существуют сторонние инструменты, которые предоставляют вам эту функциональность.

Системы Farata предлагают Clear Builder (который, я считаю, предлагает поддержку CRUD через сгенерированный код).

Также есть dpHibernate (о котором я должен сообщить, что я один из главных разработчиков).

Используя dpHibernate, то, что вы ищете, достижимо так:

public function updateObject():void
{
     var book:Book; // loaded from the server earlier in the application
     book.title = "Clean Code";
     book.save();
}

Ваш класс сущности (в данном примере Book) требуется только для реализации пары простых методов интерфейса (которые имеют дело сглавным образом с концепцией идентичности) и не требует сгенерированного кода.

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

...