使用Input Text with LOV组件时,点击按钮会显示LOV的查询结果。
如果需要通过程序设置查询条件,可以定制LaunchPopupPopupListener。
与上一个实验不同的地方是:在LOV对应的VO上没有Where子句和参数定义。
也就是说,通过程序动态设置Where子句。
1. Managed Bean的代码
public void jobIdLaunchPopupListener(LaunchPopupEvent launchPopupEvent) { BindingContainer bindings = getBindings(); JUCtrlListBinding lov = (JUCtrlListBinding)bindings.get("JobId"); String whereClause = "Min_Salary > 5000 AND Max_Salary < 15000"; lov.getListIterBinding().getViewObject().setWhereClause(whereClause); }
说明:这里的Min_Salary和Max_Salary是数据库表中字段的名称,不是VO中字段的名称。
2. 运行
显示的查询结果是MinSalary>5000且MaxSalary<15000 br="">
Project 下载:ADF_LOV_InputText(5).7z
参考文献:
1. http://jobinesh.blogspot.com/2009/08/tips-on-lov-runtime.html
2. https://blogs.oracle.com/jdevotnharvest/entry/how_to_dynamically_filter_model15000>
没有评论:
发表评论