壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5015|回复: 22

[OAF] OAF开发下,怎样使选中的表中一行的数据高亮显示,或者显示颜色??

[复制链接]
发表于 2008/12/26 16:20:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
如题,哪位大哥给个解决方案
 楼主| 发表于 2008/12/29 10:49:08 | 显示全部楼层
咋没人相应?自己顶一下
发表于 2008/12/29 17:41:22 | 显示全部楼层
这个问题实现起来太困难。

楼主需要想其他办法来解决,比如用Switcher来高亮显示
 楼主| 发表于 2009/1/4 08:47:11 | 显示全部楼层
3# Michael
谢谢版主阿!
发表于 2009/1/4 13:49:32 | 显示全部楼层
1、根据以下SQL创建VO
           SELECT FU.USER_ID,
                  FU.USER_NAME,
                  'N' SELECT_FLAG
             FROM FND_USER FU
        2、在页面上创建一个Table,创建三列,将其分别映射VO中的字段,第一列是个单选况,开启FireAction。
        3、在processRequest中添加以下代码。
           am.invokeMethod("initShowVO");
           OAMessageCheckBoxBean mcbSelectFlag = (OAMessageCheckBoxBean)webBean.findChildRecursive("SelectFlag");
           IfBoundValue ibvSelectFlag = new IfBoundValue(new NodeAttributeBoundValue(mcbSelectFlag, CHECKED_ATTR), "AoBackground", "");
           ((OAMessageTextInputBean)webBean.findChildRecursive("UserName")).setAttributeValue(STYLE_CLASS_ATTR, ibvSelectFlag);
           ((OAMessageTextInputBean)webBean.findChildRecursive("UserId")).setAttributeValue(STYLE_CLASS_ATTR, ibvSelectFlag);
 楼主| 发表于 2009/1/8 11:45:46 | 显示全部楼层
5# sumury
谢谢先,等下试试
 楼主| 发表于 2009/1/9 11:47:38 | 显示全部楼层
5# sumury
我试了没成功哦
发表于 2009/1/9 19:55:44 | 显示全部楼层
本帖最后由 sumury 于 2009-1-9 20:25 编辑

怎么可能?~!
AoBackground是OAF标准的CSS,若是不行,换成你自定义的CSS;

因为Table中存在多个列,所以将所有的列名定义成一个String数组,然后做循环设置他的CSS,例如:
OAMessageCheckBoxBean mcbSelectFlag =
    (OAMessageCheckBoxBean)webBean.findChildRecursive("SelectFlag");
IfBoundValue ibvSelectFlag = new IfBoundValue(
    new NodeAttributeBoundValue(mcbSelectFlag, CHECKED_ATTR), "AoBackground", "");
String[] strColName = {"col1","col2","col3",...};
for (int i = 0; i < strColName.length; i++)
{
  webBean.findChildRecursive(strColName).setAttributeValue(STYLE_CLASS_ATTR, ibvSelectFlag);
}

若是你没有实现,请仔细确认以下几点:
1、这段处理代码有没有写在processRequest()方法中。
2、CheckBox有没有开启FireAction功能。(只要开启就可以了,不用在processFormRequest()方法中捕获处理的。)
3、这个CheckBox要手工创建,然后移动到Table中的第一列,不要用Table中的SingSelect来自动的生成。

4、我的VO中建立的SQL如下
SELECT FU.USER_ID,
       FU.USER_NAME,
       'N' SELECT_FLAG--这个字段映射页面上Table中的checkBox,初始化的时候,不选中。
  FROM FND_USER FU
供你参考。

我写的这些代码,都是经过测试成功的。所以,不用担心实现不了。

若还有问题,请详细描述你的实现过程。
 楼主| 发表于 2009/1/10 11:13:58 | 显示全部楼层
8# sumury
谢谢sumury 的回复,现在没环境,下周试试,再次感谢
 楼主| 发表于 2009/1/12 14:31:55 | 显示全部楼层
8# sumury
我发了邮件给你,请查收
发表于 2009/1/21 15:36:35 | 显示全部楼层
怎么样,成功了嘛?
发表于 2009/2/1 14:57:31 | 显示全部楼层
呵呵,sumury 的方法好,多谢共享!
发表于 2009/2/5 17:01:28 | 显示全部楼层
发表于 2010/9/10 09:11:22 | 显示全部楼层
回复 sumury 的帖子

IfBoundValue这是从哪里引用的
发表于 2010/9/10 10:39:37 | 显示全部楼层
执行了,不起作用;


String[] strColName = {"col1","col2","col3",...};
for (int i = 0; i < strColName.length; i++)
{
  webBean.findChildRecursive(strColName).setAttributeValue(STYLE_CLASS_ATTR, ibvSelectFlag);
}
加入这句,报错频频
发表于 2010/9/10 11:26:43 | 显示全部楼层
oracle.cabo.ui.data.bind.IfBoundValue

报错信息贴出来。
发表于 2010/9/10 13:24:54 | 显示全部楼层
webBean.findChildRecursive(strColName).setAttributeValue(STYLE_CLASS_ATTR, ibvSelectFlag);
webBean.findChildRecursive(要string类型,可这里是数组).
Error(50,17): method findChildRecursive(java.lang.String[]) not found in interface oracle.apps.fnd.framework.webui.beans.OAWebBean
发表于 2010/9/10 13:25:53 | 显示全部楼层
有没有直接针对row的,而不是对每一列设置其属性
发表于 2010/9/10 13:35:45 | 显示全部楼层
无语,java怎么学的?

strColName=>strColName[i]
发表于 2010/9/10 13:36:42 | 显示全部楼层
没学过java,做这个超痛苦,很多都不懂
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 07:44 , Processed in 0.018332 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表