关联实体新建、编辑传值问题

写了一个演示程序,想实现界面数值传递并根据传递的数值,获取到一个集合为组合框赋值。在实现过程中遇到了一些问题。
demo1.zip (3.7 MB)

什么问题呢?

在对数据新建、编辑时以弹窗形式打开,并传值报Edited entity isn’t initialized yet错误
图片
图片

这个错误是因为你在打开界面的时候,并没有提供编辑或新建的实体。参考手册:

image

编辑实体时,可以从DataGrid获取选中的实体:
DataGrid.getSelectedItems().iterator().next()

这样确实能实现数据的保存,但是保存后的数据在数据表格中不显示,再次编辑选中的数据不回显到对应的数据框中,传值也无法实现

嗯,我试了试,这里好像是有点问题,等我确认一下

我给你改好了,你可以下载附件的项目。

demo1.zip (135.6 KB)

主要有几点:

  1. childEntity detail view 中的 sn 选项的 comboBox不能与属性关联,因为是需要根据实体属性和传的 type值加载选项。
  2. childEntity detail view 中对 type 的处理要放到 BeforeShowEvent 中。
  3. parentEntity detail view 中的列表需要在子实体视图关闭的事件中更新。

在新建子实体后,该数据能够正常显示在数据展示界面中。但是,在进行整个数据保存时,出现了以下错误。
图片
需要对子实体的新建方法修改成如下图所示:
图片

在数据展示界面选中一条子实体进行编辑,编辑后能够正常的显示到数据展示界面,但是在新建一条子实体数据后,在对这条新建的字实体进行编辑,而是显示了编辑前的数据,数据库中最终保存的结果是最新的数据,这个该怎么解决
图片
图片
图片

已解决
图片

你没有看我给你的代码吗 :joy:

看了,就是基于你提供的代码进行测试和修改的。