运行环境:JDeveloper 11.1.2.2.0 + Oracle Database 10g Express Edition 10.2.0.1。
使用Input Text with LOV组件时,点击按钮会显示LOV的查询结果。
如果需要通过程序设置查询条件,可以定制LaunchPopupPopupListener。
与上一个实验不同的地方是:在LOV对应的VO上没有ViewCriteria和参数定义。
也就是说,通过程序动态创建ViewCriteria和设置参数。
重要步骤说明:
1. Managed Bean 代码
2. 运行
和第2个实验一样,显示MinSalary>5000且MaxSalary<15000的记录。
使用Input Text with LOV组件时,点击按钮会显示LOV的查询结果。
如果需要通过程序设置查询条件,可以定制LaunchPopupPopupListener。
与上一个实验不同的地方是:在LOV对应的VO上没有ViewCriteria和参数定义。
也就是说,通过程序动态创建ViewCriteria和设置参数。
重要步骤说明:
1. Managed Bean 代码
public void jobIdLaunchPopupListener(LaunchPopupEvent launchPopupEvent) { BindingContainer bindings = getBindings(); JUCtrlListBinding lov = (JUCtrlListBinding)bindings.get("JobId"); ViewCriteriaManager vcm = lov.getListIterBinding().getViewObject().getViewCriteriaManager(); vcm.removeViewCriteria(vcm.DFLT_VIEW_CRITERIA_NAME); ViewCriteria vc = new ViewCriteria(lov.getListIterBinding().getViewObject()); vc.setName(vcm.DFLT_VIEW_CRITERIA_NAME); ViewCriteriaRow vcr1 = new ViewCriteriaRow(vc); vcr1.setAttribute("MinSalary", "> 5000"); vcr1.setAttribute("MaxSalary", "< 15000"); vc.addRow(vcr1); lov.getListIterBinding().getViewObject().applyViewCriteria(vc); }
2. 运行
和第2个实验一样,显示MinSalary>5000且MaxSalary<15000的记录。
Project 下载:ADF_LOV_InputText(7).7z
http://maping930883.blogspot.com/2012/08/adf190launchpopuplistenerinput-text.html