用于编辑存储在服务器上的对象的通用DataGrid



我已经组装了一个Java/BrazeDS服务器,它创建了一个通用的GridBean对象。此GridBean包含:

  • List<ColumnDef>,其中ColumnDef包含列标题、字段名称
  • List<Object>,其中我的对象是一些包含PropertyChangeSupport的java pojo

然后,我创建了一个Flex应用程序,它使用RemoteObjectServiceWrapper来调用我的java服务器,获取GridBean,从columnDefs创建一些DataGrid列,然后将dataProvider设置为对象列表。到目前为止,一切都呈现出来了。

现在,我真正想做的是:在flex端设置某种事件处理程序,这样,如果我的项目/对象在数据网格中被编辑,我就会向java发出一条消息,说"编辑了这个项目上的这个字段"。最终目标是有一种很好的通用方法来在flex数据网格中呈现Java中的任何对象列表。

实际上,您谈论的是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)只需要实现几个简单的接口方法(主要处理身份的概念),不需要任何生成的代码。

这里有一个非常完整的更新功能的工作示例。

相关内容

  • 没有找到相关文章

最新更新