[Oracle ADF] Задать программно значение bind variable, определенной во ViewCriteria декларативно
public void myButtonPressed(ActionEvent actionEvent) {
ViewObject vo = VOUtils.getViewObjectByName(CONSTANTS_VO.VO_NAME);
VariableValueManager vvm = vo.ensureVariableManager();
vvm.setVariableValue(ITEM_SHOULD_CONTAINS, "МАРКЕТИНГ");
ViewCriteriaManager vcm = vo.getViewCriteriaManager();
ViewCriteria vc = vcm.getViewCriteria(CONSTANTS_VC.MY_SUPER_PUPER_VC);
vo.applyViewCriteria(vc,true);
vo.executeQuery();
-- Убрать если после execute VC больше не нужно
-- VOUtils.clearViewCriteriaByName(vo, CONSTANTS_VC.INDICATOR_DETAIL__CALC_RESULTS__NBOX_VC);
}
А если потом нужно убрать
1
2
3
4
5
6
7
public void myButtonPressed(ActionEvent actionEvent) {
ViewObject vo = VOUtils.getViewObjectByName(CONSTANTS_VO.VO_NAME);
VOUtils.clearViewCriteriaByName(vo, CONSTANTS_VC.INDICATOR_DETAIL__CALC_RESULTS__NBOX_VC);
vo.executeQuery();
}
Еще пример остался:
public static void tasksFilterByPriority2(ArrayList<String> selectedListElements){
ViewObject vo = VOUtils.getViewObjectByName(CONSTANTS_VO.MY_VO);
VariableValueManager vvm = vo.ensureVariableManager();
if (selectedListElements.contains("1")){
vvm.setVariableValue(priorityId, "1");
}
if (selectedListElements.contains("2")){
vvm.setVariableValue(priorityId, "2");
}
if (selectedListElements.contains("3")){
vvm.setVariableValue(priorityId, "3");
}
ViewCriteriaManager vcm = vo.getViewCriteriaManager();
ViewCriteria vc = vcm.getViewCriteria(CONSTANTS_VC.MY_VC);
vo.applyViewCriteria(vc,true);
vo.executeQuery();
VOUtils.clearViewCriteriaByName(vo, CONSTANTS_VC.MY_VC);
}