checkboxGroup 复选框组
基本用法
checkBoxGroup
最简单的用法是用于选择枚举值。
<checkboxGroup itemsEnum="com.company.onboarding.entity.DayOfWeek"
label="Select days of week"
themeNames="vertical"/>

数据绑定
该组件支持绑定至 data container 中的实体属性。
如需将 checkBoxGroup
绑定至实体属性:
-
使用 dataContainer 属性指定数据容器的名称。
-
使用 property 属性指定实体属性的名称。
<data>
<instance class="com.company.onboarding.entity.User" id="userDc">
<fetchPlan extends="_base">
<property name="hobbies" fetchPlan="_base"/>
</fetchPlan>
<loader id="userDl"/>
</instance>
<collection class="com.company.onboarding.entity.Hobby" id="hobbiesDc">
<fetchPlan extends="_base"/>
<loader id="hobbiesDl">
<query>
<![CDATA[select e from Hobby e]]>
</query>
</loader>
</collection>
</data>
<layout>
<checkboxGroup dataContainer="userDc"
property="hobbies"
itemsContainer="hobbiesDc"
id="checkboxGroup"/>
</layout>
示例中,checkBoxGroup
会展示 Hobby
实体的实例名,getTypedValue()
方法返回选择实例的 Collection
.
自定义选项
使用下列方法可以为 checkBoxGroup
设置选项:
-
setItems()
- 支持编程式设置组件的选项。@ViewComponent private JmixCheckboxGroup<Integer> checkboxGroupInt; @Subscribe public void onInit(final InitEvent event) { checkboxGroupInt.setItems(new ArrayList<>(Arrays.asList(1,2,3,4,5))); }
-
ComponentUtils.setItemsMap()
- 支持分别设置每个选项的显示名称和值。@ViewComponent private JmixCheckboxGroup<Integer> ratingCheckboxGroup; @Subscribe public void onInit(final InitEvent event) { Map<Integer,String> map = new LinkedHashMap<>(); map.put(2,"Poor"); map.put(3,"Average"); map.put(4,"Good"); map.put(5,"Excellent"); ComponentUtils.setItemsMap(ratingCheckboxGroup, map); }
XML 属性
id - classNames - colspan - dataContainer - enabled - errorMessage - height - helperText - invalid - itemsContainer - itemsEnum - label - maxHeight - maxWidth - minHeight - minWidth - property - readOnly - required - requiredIndicatorVisible - requiredMessage - themeNames - visible - width
事件和处理器
AttachEvent - ClientValidatedEvent - ComponentValueChangeEvent - DetachEvent - TypedValueChangeEvent - itemEnabledProvider - itemLabelGenerator - statusChangeHandler - validator
在 Jmix Studio 生成处理器桩代码时,可以使用 Jmix UI 组件面板的 Handlers 标签页或者视图类顶部面板的 Generate Handler 添加,也可以通过 Code → Generate 菜单(Alt+Insert / Cmd+N)生成。 |