3.5.2.1.53. TwinColumn
Компонент TwinColumn
представляет собой сдвоенный список для множественного выбора опций. В левом списке содержатся доступные невыбранные значения, в правом списке содержатся выбранные значения. Пользователь выбирает значения, перенося их из левого в правый список и обратно с помощью двойного клика или соответствующих кнопок. Для каждого значения можно задать уникальный стиль отображения и значок.
XML-имя компонента: twinColumn
Компонент реализован только для блока Web Client.
Пример использования компонента twinColumn
для выбора экземпляров сущности:
<data>
<instance id="orderDc" class="com.company.sales.entity.Order" view="order-edit">
<loader id="orderDl"/>
</instance>
<collection id="allProductsDc" class="com.company.sales.entity.Product" view="_minimal">
<loader>
<query>
<![CDATA[select e from sales_Product e]]>
</query>
</loader>
</collection>
</data>
<layout>
<twinColumn id="twinColumn"
dataContainer="orderDc"
property="products"
optionsContainer="allProductsDc"/>
</layout>
В данном случае компонент twinColumn
отобразит имена экземпляров сущности Product
, находящихся в контейнере данных allProductsDc
, а его метод getValue()
вернет коллекцию выбранных экземпляров сущности.
Атрибут addAllBtnEnabled
задает отображение кнопок, позволяющих перемещать между списками все опции сразу.
Атрибут columns
используется для задания количества символов в строке, а атрибут rows
− для задания количества строк текста в каждом списке.
Атрибут reorderable
указывает, должен ли меняться порядок опций в списке после выбора. По умолчанию имеет значение true
. В таком случае опции будут переупорядочены после выбора в соответствие с порядком элементов в источнике данных. Если значение атрибута равно false
, опции будут добавлены в том порядке, в котором они были выбраны.
Для задания внешнего вида опций можно реализовать интерфейс TwinColumn.StyleProvider
и возвращать название стиля и путь к значку в зависимости от конкретного экземпляра сущности, отображаемого в компоненте.
Список опций компонента TwinColumn
может быть задан произвольно с помощью методов setOptionsList()
, setOptionsMap()
и setOptionsEnum()
, аналогично описанному для компонента CheckBoxGroup.
- Атрибуты twinColumn
-
align - addAllBtnEnabled - caption - captionAsHtml - captionProperty - columns - contextHelpText - contextHelpTextHtmlEnabled - css - dataContainer - description - descriptionAsHtml - editable - enable - box.expandRatio - height - htmlSanitizerEnabled - icon - id - leftColumnCaption - optionsContainer - property - reorderable - required - requiredMessage - rightColumnCaption - rows - stylename - tabIndex - visible - width
- Элементы twinColumn
- API
-
addValueChangeListener - setContextHelpIconClickHandler - setOptionCaptionProvider