最近有个需求,就是采购订单的供应商要按照一级和二级来选,一级关联二级,二级关联供应商。之前的一级和二级都是用LovInput做的,现在想要改为messageChoice。如下图:

改为:

下面给大家介绍下我是如何实现的:

1.页面修改:

把Cate1的属性改为messageChoice,如下图配置:

为Cate1设置事件:

参数:

把Cate2的属性也改为messageChoice,如下图配置:

设一个无参数的事件,用来刷新用:

2.在页面关联的AM中,加入如下两个方法:

 public void msgChoice(String zReqLineId)
{
ZReqLinesVOImpl linesVO = this.getZReqLinesVO();
int rowCount = linesVO.getRowCount();
for (int i = 0; i < rowCount; i ++)
{
ZReqLinesVORowImpl linesRow = (ZReqLinesVORowImpl)linesVO.getRowAtRangeIndex(i);
//循环遍历各行
Number primaryKey = linesRow.getZreqLineId();//获取行id
if (primaryKey.intValue() == Integer.parseInt(zReqLineId))
{
String cate1 = (String)linesRow.getCate1();
System.out.println("cate1:" + cate1);
msgChange(cate1);
}
} } public void msgChange(String cate1)
{
ViewObject vo = this.getCuxPOCategory2LovVO1();
String whareString="1=1";
whareString = whareString + " and DETL_PID = '" + cate1 + "'";
vo.setWhereClause(null);//置空VO中的where条件
vo.setWhereClauseParams(null); //置空VO中的where条件
vo.setWhereClause(whareString);//赋值拼接的where条件
vo.executeQuery(); //执行查询
}

3.在页面的CO加入如下代码,通过事件调用AM中的方法:

 if("select1".equals(pageContext.getParameter("event")))
{
String Cate1LineId = pageContext.getParameter("Cate1LineId");//获取fireAction的参数
System.out.println("Cate1LineId:" + Cate1LineId);
Serializable []params = { Cate1LineId };
am.invokeMethod("msgChoice", params);//调用AM方法
}

出现的bug:

本例不适合多行的情况,当出现多行时,会导致二级的messageChoice的各行结果总是按照最后选择的一级关联,(如图)原因是每一行都公用一个VO导致的。如果某位大神看到此文,有解决此bug的方法,请写在评论中,谢谢了。

OAF messageChoice 关联问题的更多相关文章

  1. OAF_开发系列12_实现OAF开发中URL中的标记和加密参数传递(案例)

    20150712 Created By BaoXinjian

  2. OAF_开发系列01_实现OAF资料主从关系Master-Detail联动(案例)

    2014-06-02 Created By BaoXinjian

  3. OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)

    20150727 Created By BaoXinjian

  4. OAF TABLE中添加序号列

    在实际的OAF页面TABLE的使用中,会有很多时候需要在前台页面中显示序号,虽然在sql中可以使用rownum来获得序号,但是rounum的优先级比order by 高,所以在语句中order by ...

  5. EBS OAF中如何在多行表中实现附件功能

    EBS OAF中如何在多行表中实现附件功能 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 在OAF中使用附件功能之前,要先明白Entity( ...

  6. EBS OAF 开发中的OAMessageRadioGroup控件

    EBS OAF 开发中的OAMessageRadioGroup控件 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 简单介绍 RadioGro ...

  7. OAF开发中一些LOV相关技巧 (转)

    原文地址:OAF开发中一些LOV相关技巧 在OAF开发中,LOV的使用频率是很高的,它由两部分构成一是页面上的LOV输入框(如OAMESSageLovInputBean),二是弹出的LOV模式窗口(O ...

  8. Oracle OAF 应用构建基础之实现控制器 (转)

    原文地址: Oracle OAF 应用构建基础之实现控制器 设计一个OA Controller 如OA Framework Page解析中所描述的,OA Controller定义了web beans的 ...

  9. EBS OAF 发展 URL商标、加密和编码

    EBS OAF 发展 URL商标.加密和编码 (版权声明.我原来的或翻译的文章,如需转载,转载的个人学习,转载请注明出处:否则,请与我联系.版权所有) 马克 当您指定页面定义声明URL参数,文本也能够 ...

随机推荐

  1. 到处都是坑的微信支付V3之 微信支付回调页面

    据上次 到处都是坑的微信支付V3 后很多园友在被虐了千百遍后终于跳转到了亲切的微信支付界面,但输入密码支付后却不知道怎么处理了,接下来补上支付后的处理流程. 1. html中根据前台支付后反馈信息成功 ...

  2. Web App 向上滑动动态加载数据 2015-06-11 09:36 20人阅读 评论(0) 收藏

    好久没有写博客了 - - ,个人原因 个人原因..  宣传一下...自己的.NET群:252713569 欢迎各位大神加入 嗯..最近在公司开发微信平台的东西..需要做一个WebAPP(PS:其实就是 ...

  3. react入门(2)

    接着上一次的讲,如果没有看过上一篇文章的小伙伴可以先看一下http://www.cnblogs.com/sakurayeah/p/5807821.html React事件 可以先看一下官网讲解的内容h ...

  4. 图片全部加载完成之后再显示页面ui,公司项目里用上,自己写的几行代码

    说明: -----onload事件   这里我并没有考虑ie的兼容性 因为项目是移动端的: -----求大神指正~ -----自己测试正常 页面没加载完之前会有一个提示 /************** ...

  5. Xamarin.Android之Splash的几种简单实现

    对现在的APP软件来说,基本上都会有一个Splash页面,类似大家常说的欢迎页面.启动界面之类的. 正常来说这个页面都会有一些相关的信息,比如一些理念,Logo,版本信息等 下面就来看看在Xamari ...

  6. 基于MVC4+EasyUI的Web开发框架经验总结(17)--布局和对话框自动适应大小的处理

    在我自己的<Web开发框架>中,用了很多年的EasyUI,最新版本EasyUI为1.4.5,随着版本的更新,其很多功能得到了很大的完善和提高,同时也扩展了一些新的功能,以前在布局和对话框弹 ...

  7. 在PHP语言中使用JSON和将json还原成数组

    在之前我写过php返回json数据简单实例,刚刚上网,突然发现一篇文章,也是介绍json的,还挺详细,值得参考.内容如下 从5.2版本开始,PHP原生提供json_encode()和json_deco ...

  8. Apache的初中级面试题

    --- 原文:[关于Apache的25个初中级面试题](http://www.oschina.net/translate/apache-interview-questions) Apache 求职面试 ...

  9. 删掉SQL Server登录时登录名下拉列表框中的选项

    问题: 我以前创建了一个登录名如kpi,之后在"安全性-登录名" 里删掉了,但是每次登录时,登录名的下拉框中总是能显示登录名kpi,怎么把它删掉呢? 解决方案: 1).SQL Se ...

  10. 使用 Sticky-Kit 实现基于 jQuery 的元素固定效果

    元素固定效果在网页中应用得很多,比较常见的使用场景有改进导航,显示广告.Sticky-Kit 是一个非常方便的 jQuery 插件,简化了创建/管理粘元素,有复杂的使用功能.这些功能包括:处理多个固定 ...