[Oracle ADF] SelectManyCheckbox - установить Checkbox’ы программно по нажатию на кнопку


Есть selectManyCheckbox. Я привязываю его к бину

1
2
3
4
5
6
7
8
9
<af:selectManyCheckbox id="smc1"
                            autoSubmit="true"
                            required="false"
                            binding="#{MyBean.statusCheckbox}">

                        <af:selectItem label="Новая" value="1" id="si1" />
                        <af:selectItem label="В работе" value="2" id="si2"/>
                        <af:selectItem label="Завершена" value="3" id="si3"/>
</af:selectManyCheckbox>

Есть кнопка

1
<af:button text="Test Button" id="b1" action="#{MyBean.onClick}"/>


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
private RichSelectManyCheckbox statusCheckbox;

public void setStatusCheckbox(RichSelectManyCheckbox statusCheckbox) {
    this.statusCheckbox = statusCheckbox;
}

public RichSelectManyCheckbox getStatusCheckbox() {
    return statusCheckbox;
}

// -------------------------------------------

public String onClick() {

    List<String> selectedCheckboxes = new ArrayList<String>();

    selectedCheckboxes.add("2");
    selectedCheckboxes.add("3");

    statusCheckbox.setValue(selectedCheckboxes);

    UIUtils.updateUIComponent(statusCheckbox);

    return null;
}