[Oracle ADF] Задать программно значение bind variable, определенной во ViewCriteria декларативно


View Criteria With Bind Variables



View Criteria With Bind Variables



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);

}