`
dragonxiangfu
  • 浏览: 157134 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用LauchPopupListener过滤LOV数据

 
阅读更多

概述

在实际应用中,lov(list of value)中显示的数据往往会根据页面上的某些条件进行过滤,此时,可以应用lauchpopuplistener来实现该功能。

实现

1、基于Employees表和Jobs表创建EO/VO/AM,并设置Employees对应的VO中的JobId使用Jobs对应的VO作为数据源。

2、在Jobs表对应的VO上添加绑定变量,并修改SQL语句,将该绑定变量应用到SQL语句中,具体代码如下:

SELECTJobs.JOB_ID,
Jobs.JOB_TITLE,
Jobs.MIN_SALARY,
Jobs.MAX_SALARY
FROMJOBS Jobs
WHEREJobs.MIN_SALARY>:ls

3、为Employees对应的VO创建页面,并同时生成其backingbean,设置JobId属性中的LaunchPopupListener为刚创建成功的backingbean中的方法,这里为filterlov()。

4、在backingbean中的filterlov()方法中添加代码,完成数据过滤,具体代码如下:

  1. publicvoidfilterlov(LaunchPopupEventlaunchPopupEvent){
  2. BindingContextbctx=BindingContext.getCurrent();
  3. BindingContainerbindings=bctx.getCurrentBindingsEntry();
  4. FacesCtrlLOVBindinglov=(FacesCtrlLOVBinding)bindings.get("JobId");
  5. lov.getListIterBinding().getViewObject().setNamedWhereClauseParam("ls",400);
  6. }

5, over.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics