使用Input Text with LOV组件时,点击按钮会显示LOV的查询结果。
如果需要通过程序设置查询条件,可以定制LaunchPopupPopupListener。
这里假设的情况是:在LOV对应的VO上有Where子句和参数定义。
重点步骤说明:
1. 修改LOV对应的VO
(1)增加Where子句和参数
(2)因为不希望bv_minSalary出现在查询界面上,所以将其隐藏
2. Managed Bean的代码
public void jobIdLaunchPopupListener(LaunchPopupEvent launchPopupEvent) { BindingContext bctx = BindingContext.getCurrent(); BindingContainer bindings = bctx.getCurrentBindingsEntry(); JUCtrlListBinding lov = (JUCtrlListBinding)bindings.get("JobId"); lov.getListIterBinding().getRowSetIterator().getRowSet().setNamedWhereClauseParam("bv_minSalary", new Integer(5000)); }
3. 运行
显示的查询结果是MinSalary>5000的记录。
Project 下载:ADF_LOV_InputText(4).7z
参考文献:
1. http://oracleseeker.com/2009/09/14/launch_popup_listener_filter_lov/
2. https://forums.oracle.com/forums/thread.jspa?messageID=10267170
3. https://forums.oracle.com/forums/thread.jspa?threadID=665594
没有评论:
发表评论