通过screenbuilder弹出层的形式打开编辑页面后,获取编辑页面修改后的实体类

image
点击edit按钮后通过上述代码以弹出层形式打开编辑页面后,编辑页面的提交方法不使用默认提交方法操作数据库,而是单纯在Browse页面显示,因此在edit页面完成编辑操作后,通过成员变量获取到编辑后的entity后直接关闭页面,但是上图代码中无法使用.withAfterCloseListener监听页面的关闭事件并获取编辑后的entity,请问有什么解决办法,可以不使用系统默认的commit操作入库,而只是拿到数据在前端页面显示?

你是要实现只读模式的表单界面?

不是,是因业务需求,修改操作不入库,点击保存后虚假修改,只是在Browse页面显示修改后的结果,后续再在Browse页面进行后续操作,所以需要在Browse页面获取到修改后的entity

考虑到修改页面caption的功能,通过弹出层打开页面的代码已修改如下:
image
请问如何监听edit页面的保存按钮的点击方法(非系统提交方法),或者监听页面关闭的方法都可以,只要可以监听,我就可以获取到修改后的entity,或者您这边有什么更好的办法也可以

你好,
这里你需要了解一下DataContext相关概念,可以参考数据上下文

DataContext 实例支持父子关系。如果一个 DataContext 有父上下文,它会将改动的实体提交给父上下文而不是提交给中间件。通过这个功能支持编辑组合关系,从实体只能跟主实体一起保存到数据库。如果一个实体属性使用 @Composition 注解,平台会自动在此属性的编辑界面设置父上下文,从而该属性的改动会保存到主实体的数据上下文。

重点理解父数据上下文

已解决,添加.withScreenClass(editScreen.class),该句代码即可监听afterClose