[Oracle ADF] SelectManyCheckbox как лучше с ним работать
Для фильтрации по 1-му полю:
1
2
3
4
5
6
7
8
<af:selectManyCheckbox id="type_smc"
valueChangeListener="#{MyBean.onCheckboxSelected}"
autoSubmit="true" required="false" label="Тип заказа" simple="true">
<af:forEach items="#{bindings.TasksCategory_List.rangeSet}" var="listrow">
<f:selectItem id="si10" itemValue="#{listrow.Id}" itemLabel="#{listrow.Name}"/>
</af:forEach>
</af:selectManyCheckbox>
TasksCategory_List - tree
Также как и для SelectOneChoice. (Но в примере с SelectOneChoice есть какртинки.)
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
public void onCheckboxSelected (ValueChangeEvent valueChangeEvent) {
if (null != valueChangeEvent.getNewValue()){
ArrayList<Integer> selectedListElements = null;
selectedListElements = (ArrayList<Integer>)valueChangeEvent.getNewValue();
ViewObject vo = VOUtils.getViewObjectByName(CONSTANTS_VO.MY_VO_NAME);
ViewCriteria vc = vo.createViewCriteria();
vc.setName(CONSTANTS_VC.ANY_VC_NAME);
for (Integer si : selectedListElements){
ViewCriteriaRow vcr1 = vc.createViewCriteriaRow();
vcr1.setAttribute("Table_Filed_From_ViewObject","= " + si);
vc.add(vcr1);
}
vo.applyViewCriteria(vc, true);
vo.executeQuery();
} else {
VOUtils.clearViewCriteriaByNameAndExecuteViewObject(CONSTANTS_VO.MY_VO_NAME, CONSTANTS_VC.ANY_VC_NAME);
}
}