3.10.1.2. 实体分类
如果实体实现了 com.haulmont.cuba.core.entity.Categorized
接口,则可以使用 com.haulmont.cuba.gui.components.RuntimePropertiesFrame
组件来显示该实体的动态属性。此组件允许用户为特定实体实例选择类别,并指定此类别的动态属性的值。
要在编辑界面中使用 RuntimePropertiesFrame
组件,请执行以下操作:
-
在
dsContext
部分声明两个datasources:-
runtimePropsDatasource
- 加载CategoryAttributeValue
实例的特定数据源。mainDs
属性必须引用主数据源,其中包含被编辑的实体。 -
一个常规的
collectionDatasource
来加载这个实体类型的类别列表。
示例:
<dsContext> <datasource id="carDs" class="com.company.sample.entity.Car" view="carEdit"/> <runtimePropsDatasource id="runtimePropsDs" mainDs="carDs"/> <collectionDatasource id="categories" class="com.haulmont.cuba.core.entity.Category" view="_local"> <query> select c from sys$Category c where c.entityType='sample$Car' </query> </collectionDatasource> </dsContext>
-
-
现在,数据源配置好了,可以将
runtimeProperties
可视化组件添加在界面的 XML 描述中:<runtimeProperties id="runtimePropsFrame" runtimeDs="runtimePropsDs" categoriesDs="categories"/>