MultiSelectList

MultiSelectList отображает предопределенные опции списком с возможностью прокрутки по вертикали. MultiSelectList позволяет пользователям выбирать или отменять выбор одного или нескольких пунктов, удерживая нажатой клавишу Shift или Control при нажатии на опции.

XML-имя компонента: multiSelectList.

Основы

Используйте MultiSelectList, если:

  • Пользователям нужно выбрать один или несколько вариантов из списка опций.

  • Опций слишком много, чтобы использовать CheckBoxGroup.

  • Количество опций ограничено, и нет необходимости вводить пользовательские значения.

multiple select list

Для создания MultiSelectList, связанного с данными, используйте атрибут optionsContainer. Например:

<data>
    <collection id="brandsDc" class="ui.ex1.entity.Brand">
        <fetchPlan extends="_base"/>
        <loader id="brandsDl">
            <query>
                <![CDATA[select e from uiex1_Brand e]]>
            </query>
        </loader>
    </collection>
</data>
<layout>
    <multiSelectList id="multiSelectList"
                     caption="Select brands:"
                     optionsContainer="brandsDc"/>
</layout>

Значение компонента возвращает список выбранных опций.

Также можно сделать некоторые значения выбранными программно, передав список значений java.util.List в метод setValue():

@Autowired
private MultiSelectList<Hobby> hobbyList;

@Subscribe
public void onInit(InitEvent event) {
    hobbyList.setValue(Arrays.asList(Hobby.FAMILY, Hobby.COMPUTER));
}

Определение опций

Список опций можно указать либо в XML-дескрипторе, используя атрибуты optionsContainer, optionsEnum, либо программно в контроллере, используя методы setOptionsList(), setOptionsMap() и setOptionsEnum().

Подробная информация доступна в разделе Определение опций компонента SingleSelectList.

События и слушатели

Чтобы сгенерировать заглушку слушателя в Jmix Studio, выберите компонент в XML-дескрипторе экрана или на панели иерархии Jmix UI и используйте вкладку Handlers на панели инспектора Jmix UI.

В качестве альтернативы вы можете воспользоваться кнопкой Generate Handler на верхней панели контроллера экрана.

ContextHelpIconClickEvent

DoubleClickEvent

OptionCaptionProvider

Validator

См. Validator.

XML-атрибуты MultiSelectList

Просматривать и редактировать атрибуты, применимые к компоненту, можно с помощью панели инспектора Jmix UI в конструкторе экранов Studio.