3.9.1.2. DynamicAttributesPanel
如果实体实现了 com.haulmont.cuba.core.entity.Categorized
接口,则可以使用 DynamicAttributesPanel
组件来显示该实体的动态属性。此组件允许用户为特定实体实例选择类别,并指定此类别的动态属性的值。
要在编辑界面中使用 DynamicAttributesPanel
组件,请执行以下操作:
-
在实体中,需要在视图中包含
category
属性:<view entity="ref_Car" name="car-view" extends="_local"> <property name="category" view="_minimal"/> </view>
-
在
data
部分,申明一个InstanceContainer:<data> <instance id="carDc" class="com.company.ref.entity.Car" view="car-view"> <loader dynamicAttributes="true"/> </instance> </data>
设置 loader 的
dynamicAttributes
参数为true
,以便加载实体的动态属性。动态属性不是默认加载的。 -
现在可以将
dynamicAttributesPanel
可视化组件添加在界面的 XML 描述中:<dynamicAttributesPanel dataContainer="carDc" cols="2" rows="2" width="AUTO"/>
可以使用
cols
参数设置展示动态属性的列数。或者也可以使用rows
来指定行数(但是这种情况下,列数会自动计算)。默认情况下,所有属性会显示在一列内。在分类编辑器的 Attributes Location 标签页,可以更灵活的自定义动态属性的位置。如此做的话,
cols
和rows
参数的值会被忽略。