2012年8月2日星期四

ADF_189:使用LaunchPopupListener过滤Input Text with LOV(3)

运行环境:JDeveloper 11.1.2.2.0 + Oracle Database 10g Express Edition 10.2.0.1。

使用Input Text with LOV组件时,点击按钮会显示LOV的查询结果。
如果需要通过程序设置查询条件,可以定制LaunchPopupPopupListener。
与前两个实验不同的地方是:这次在LOV对应的VO上定义了一个ViewCriteria和参数。

重要步骤说明:

1. 修改LOV对应的VO,增加ViewCriteria和参数定义


2. Managed Bean 代码
    public void jobIdLaunchPopupListener(LaunchPopupEvent launchPopupEvent) {
        BindingContainer bindings = getBindings();
        JUCtrlListBinding lov = (JUCtrlListBinding)bindings.get("JobId");
        lov.getListIterBinding().getRowSetIterator().getRowSet().setNamedWhereClauseParam("bv_minSalary",
                                                                                          new Integer(5000));
        //lov.getListIterBinding().getViewObject().setNamedWhereClauseParam("bv_minSalary", "5000");
        ViewCriteriaManager vcm = lov.getListIterBinding().getViewObject().getViewCriteriaManager();
        ViewCriteria vc = vcm.getViewCriteria("JobsViewCriteria");
        lov.getListIterBinding().getViewObject().applyViewCriteria(vc);
    }


3. 运行
和第1个实验一样,显示MinSalary>5000的记录。

Project 下载:ADF_LOV_InputText(6).7z

没有评论: