[Oracle ADF] SelectManyCheckbox - получить выбранные Checkbox’ы
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <af:selectManyCheckbox id="smc1"
binding="#{TasksBean.tasksStatusFilter}"
valueChangeListener="#{TasksBean.onCheckboxSelected}"
autoSubmit="true"
required="false">
<af:selectItem
label="Новая"
value="New"
id="si1"
/>
<af:selectItem label="В работе" value="InWork" id="si2"/>
<af:selectItem label="Завершена" value="Completed" id="si3"/>
</af:selectManyCheckbox>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| RichSelectManyCheckbox tasksStatusFilter;
public void setTasksStatusFilter(RichSelectManyCheckbox tasksStatusFilter) {
this.tasksStatusFilter = tasksStatusFilter;
}
public RichSelectManyCheckbox getTasksStatusFilter() {
return tasksStatusFilter;
}
****
public void onCheckboxSelected (ValueChangeEvent valueChangeEvent) {
System.out.println("================");
System.out.println("BUTTON PRESSED BEGIN: ");
System.out.println("================");
System.out.println(tasksStatusFilter.getValue().toString());
System.out.println("================");
System.out.println("BUTTON PRESSED END: ");
System.out.println("================");
}
|
При выборе всех чекбоксов в консоли имеем:
================
BUTTON PRESSED BEGIN:
================
[New, InWork, Completed]
================
BUTTON PRESSED END:
================
Лучше
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| public void onCheckboxSelected (ValueChangeEvent valueChangeEvent) {
ArrayList<String> selectedListElements = (ArrayList<String>)valueChangeEvent.getNewValue();
for (int i = 0; i < selectedListElements.size(); i++) {
System.out.println(selectedListElements.get(i));
}
if (selectedListElements.contains("New")){
doTrue();
} else {
doFalse();
}
}
|