EditorScreenFacet
属性
除了支持 ScreenFacet
的 属性 外,EditorScreenFacet
新增了下列自有属性:
-
addFirst
- 定义一个新 item 添加的位置,是集合的开始还是结尾。只影响单独的容器,对内部嵌套容器来说,新 item 总是添加至尾部。
-
container
- 设置 集合实例容器。当界面提交时会更新该容器。如果是内部嵌套容器,框架会自动初始化父实体的引用并设置编辑组件的数据上下文。
-
editMode
- 设置界面的编辑模式,对应于EditMode
枚举:-
CREATE
- 新建实体实例。 -
EDIT
- 编辑已有实例。
-
-
entityClass
- 实体类的全限定名。
-
field
- 设置 EntityPicker 实体选择器 组件的 id。如果设置了该字段,框架会在编辑器成功提交后,将提交的实体设置到这个 Field 上。
-
listComponent
- 设置列表组件 id。如果没设置数据容器,则通过列表组件获取。通常,列表组件是 Table 表格 或 DataGrid 数据网格。
示例:
<window xmlns="http://jmix.io/schema/ui/window"
caption="msg://editorScreenFacetScreen.caption">
<data readOnly="true">
<collection id="departmentsDc"
class="ui.ex1.entity.Department">
<fetchPlan extends="_base">
<property name="employees" fetchPlan="_base"/>
</fetchPlan>
<loader id="departmentsDl">
<query>
<![CDATA[select e from uiex1_Department e]]>
</query>
</loader>
</collection>
</data>
<facets>
<editorScreen id="editorScreen"
editMode="CREATE"
entityClass="ui.ex1.entity.Customer"
onButton="openEditBtn"
addFirst="true">
</editorScreen>
<dataLoadCoordinator auto="true"/>
<screenSettings id="settingsFacet" auto="true"/>
</facets>
<layout>
<button id="openEditBtn"
caption="Open an editor screen"
width="100%"/>
</layout>
</window>
事件和处理器
如需使用 Jmix Studio 生成处理器的桩代码,需要在界面 XML 描述或者 Jmix UI 层级结构面板选中 facet 元素,然后用 Jmix UI 组件面板的 Handlers 标签页生成。 或者可以使用界面控制器顶部面板的 Generate Handler 按钮。 |
AfterCloseEvent
AfterCloseEvent
在 facet 配置的界面之后关闭发送。参阅 AfterCloseEvent 了解细节。
AfterShowEvent
AfterShowEvent
在 facet 配置的界面展示之后发送。参阅 AfterShowEvent 了解细节。
EntityProvider
EntityProvider
代理方法支持为打开的界面传递一个实体实例:
@Autowired
private DataManager dataManager;
@Install(to = "editorScreen", subject = "entityProvider")
private User editorScreenEntityProvider() {
User user = dataManager.create(User.class);
user.setFirstName("John");
user.setLastName("Doe");
return user;
}
编程式用法,调用 setEntityProvider()
方法。
OptionsProvider
参阅 OptionsProvider。
ParentDataContextProvider
ParentDataContextProvider
代理方法支持为打开的界面传递一个 父数据上下文:
@Autowired
private DataContext dataContext;
@Install(to = "editorScreen", subject = "parentDataContextProvider")
private DataContext editorScreenParentDataContextProvider() {
return dataContext;
}
编程式用法,调用 setParentDataContextProvider()
方法。
ScreenConfigurer
参阅 ScreenConfigurer。
Transformation
在编辑界面中选择并验证实体后调用。请参阅 Transformation 了解详情。
XML 属性
可以在 Studio 界面设计器中的 Jmix UI 组件面板查看和编辑 facet 支持的属性。 |
addFirst - container - entityClass - entityMode - field - id - listComponent - onAction - onButton - openMode - screenClass - screenId