MultiSelectList 多选列表

MultiSelectList - 多选列表 组件在一个垂直滚动的列表中展示预定义的选项。MultiSelectList 支持用户选择或反选一个或多个选项,在点击选项时需要按下 ShiftControl 键。

组件的 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 中用 optionsContaineroptionsEnum 属性配置,或在控制器中用 setOptionsList()setOptionsMap()setOptionsEnum() 方法设置选项列表。

详细信息在 SingleSelectList定义选项 章节说明

事件和处理器

如需使用 Jmix Studio 生成处理器的桩代码,需要在界面 XML 描述或者 Jmix UI 层级结构面板选中该组件,然后用 Jmix UI 组件面板的 Handlers 标签页生成。

或者可以使用界面控制器顶部面板的 Generate Handler 按钮。

ContextHelpIconClickEvent

DoubleClickEvent

参阅 DoubleClickEvent

OptionCaptionProvider

Validator

参阅 Validator

MultiSelectList XML 属性