3.6.1.1.4. 编辑界面
编辑界面用来展示和编辑实体实例。编辑界面通过需要编辑的实体来做界面初始化,并且包含操作,能把对实体的改动保存到数据库。编辑界面需要通过 openEditor()
方法打开,此方法接收一个实体的实例作为参数。
默认情况下,标准的 CreateAction - 创建和 EditAction - 编辑操作会打开编辑界面,编辑界面使用 {entity_name}.edit
标识符注册在 screens.xml 文件内,比如,sales$Customer.edit
。
编辑界面控制器必须从 AbstractEditor 类继承。
可以在 Studio 里使用 Entity editor 模板来创建实体的编辑界面。 |
编辑界面的 XML 描述中,datasource
属性应当指向一个包含编辑实体实例的数据源。以下这些 XML 中标准的按钮子框架组可以用来展示提交或者撤销操作:
editWindowActions
(com/haulmont/cuba/gui/edit-window.actions.xml
文件) – 包含 OK 和 Cancel 按钮。extendedEditWindowActions
(com/haulmont/cuba/gui/extended-edit-window.actions.xml
文件) – 包含 OK & Close,OK 和 Cancel
下列操作需要在编辑界面显式初始化:
windowCommitAndClose
(对应于Window.Editor.WINDOW_COMMIT_AND_CLOSE
常量) – 提交改动到数据库并且关闭界面的操作。如果界面有windowCommitAndClose
标识符的可视化组件,则会初始化这个操作。当使用上面提到的extendedEditWindowActions
子框架的时候,这个操作会显示为 OK & Close 按钮。windowCommit
(对应于Window.Editor.WINDOW_COMMIT
常量) – 提交改动到数据库的操作。如果界面没有windowCommitAndClose
,此操作会在提交数据之后关闭界面。如果界面有上面提到的标准子框架,这个操作会显示为 OK 按钮。windowClose
(对应于Window.Editor.WINDOW_CLOSE
常量) – 关闭界面不提交改动。界面总是会初始化这个操作。如果使用上面提到的标准子框架,这个动作显示为 Cancel 按钮。
因此,如果界面包含 editWindowActions
子界面框架,使用 OK 按钮来提交改动并且关闭界面,使用 Cancel 按钮关闭界面不提交改动。如果界面包含 extendedEditWindowActions
子界面框架,使用 OK 按钮只用来提交改动,OK & Close 按钮用来提交改动并且关闭界面,使用 Cancel 按钮关闭界面不提交改动。
除了标准的子界面框架之外,也可以用一些其它的组件来展现界面行为,比如 LinkButton。