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:<data> <instance id="carDc" class="com.company.ref.entity.Car" view="car-view"> <loader dynamicAttributes="true"/> </instance> </data>Чтобы загрузить динамические атрибуты сущности, установите для параметра
dynamicAttributesзагрузчика данных значениеtrue. По умолчанию динамические атрибуты не загружаются. -
После этого можно включить в XML-дескриптор экрана визуальный компонент
dynamicAttributesPanel:<dynamicAttributesPanel dataContainer="carDc" cols="2" rows="2" width="AUTO"/>С помощью параметра
colsможно указать количество столбцов для отображения динамических атрибутов. Или использовать параметрrowsдля указания количества строк (в этом случае количество столбцов будет вычисляться автоматически). По умолчанию все атрибуты будут отображаться в одном столбце.На вкладке Attributes Location редактора категорий вы можете более гибко настроить отображение динамических атрибутов. В таком случае значения параметров
colsиrowsбудут игнорироваться.