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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4029|回复: 17

[OAF] OAF开发下,怎样设置一列的颜色

  [复制链接]
发表于 2010/7/14 10:21:15 | 显示全部楼层 |阅读模式

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

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

x
一个表格中有多列数据,为了提示必输入的列,设置该列的颜色不同于其他列
发表于 2010/7/14 11:26:41 | 显示全部楼层
webBean.findChildRecursive("<列名>").setAttributeValue(STYLE_CLASS_ATTR, “<CSS名>”);
 楼主| 发表于 2010/7/14 13:23:08 | 显示全部楼层
能更详细点吗,
webBean.findChildRecursive("GrossWeight").setAttributeValue(STYLE_CLASS_ATTR, "AoBackground"); 我把这句放到public void processRequest(OAPageContext pageContext, OAWebBean webBean)中,运行起来没有任何效果,希望达到的效果是GrossWeight这列的颜色为亮黄色
发表于 2010/7/14 13:38:21 | 显示全部楼层
Table的类型必须是“Advanced Table”,
另外“AoBackground”这个CSS的效果是把背景设置成深蓝色。
想要“亮黄色”的话,好像EBS中是没有这个默认的CSS的
需要手工添加到%JDEV_USER_HOME%\myhtml\OA_HTML\cabo\styles\custom.xss
  <style selector=".YellowBg">
    <property name="background-color">#FFFF00</property>
    <includeStyle name="DefaultBoldFont"/>
    <includeStyle name="TextForeground"/>
  </style>
发表于 2010/7/14 15:55:42 | 显示全部楼层
webBean.findChildRecursive("<table中列里面元素的名字>").setAttributeValue(STYLE_CLASS_ATTR, "AoBackground");
例如Advancd Table 的结构如下:
region2(Advancd Table)
  |-column1
      |-item1(messageTextInput)
      |-column Components
          |-columnHeader
              |-sortableHeader1
这个时候
<table中列里面元素的名字>应该替换为item1
 楼主| 发表于 2010/7/15 07:56:50 | 显示全部楼层
这里是怎么上传图片的,我截了图,但不知怎么弄。按照上面的方法,可是依然不成功
发表于 2010/7/15 09:37:56 | 显示全部楼层
本帖最后由 sumury 于 2010/7/15 09:54 编辑

可能是你的EBS系统中,没有名叫“AoBackground”这个CSS。
你可以这样确认:
1、运行页面
2、在页面空白处,右击鼠标,在弹出的菜单栏中,选择“查看原代码”
3、在源代码中,查找到“item1”的输入框,(input type=‘text’)
4、确认他的“class”属性,有没有值。

如果有值,说明OAF代码没有问题,
而是你的CSS库中,没有定义这个文件。
 楼主| 发表于 2010/7/15 10:03:01 | 显示全部楼层
设置CSS的%JDEV_USER_HOME%\myhtml\OA_HTML\cabo\styles\custom.xss
  <style selector=".YellowBg">
    <property name="background-color">#FFFF00</property>
    <includeStyle name="DefaultBoldFont"/>
    <includeStyle name="TextForeground"/>
  </style>是插入到哪里的
是我的EBS中没有定义AoBackground
发表于 2010/7/15 10:10:43 | 显示全部楼层
本帖最后由 sumury 于 2010/7/15 10:18 编辑

算了,给你另一种解决方法:
1、import oracle.cabo.style.CSSStyle;
2、在processRequest()中追加以下代码
    CSSStyle style = new CSSStyle();
    style.setProperty("background-color", "#FFFF00;");
    webBean.findChildRecursive("<输入框的名字>").setAttributeValue(INLINE_STYLE_ATTR, style);

 楼主| 发表于 2010/7/15 10:27:23 | 显示全部楼层
O(∩_∩)O谢谢,你的方法真好
 楼主| 发表于 2010/7/15 10:27:48 | 显示全部楼层
回复 sumury 的帖子

O(∩_∩)O谢谢,成功了
   
发表于 2010/7/20 15:44:49 | 显示全部楼层
sumury 真是高手!  有没有在OAF的QQ群里?
发表于 2010/10/17 16:31:41 | 显示全部楼层
为什么要写代码?每个控件不是有 CSS Class 这个属性吗?设置一下就可以了
 楼主| 发表于 2010/10/18 09:23:35 | 显示全部楼层
回复 sumury 的帖子

我在C:\JDeveloper\jdevhome\jdev_gz\myhtml\OA_HTML\cabo\styles\custom.xss新增了一个样式,但是上传到服务器后,系统运行中不起作用,在本地是可以运行的
发表于 2010/10/18 09:41:46 | 显示全部楼层
1、重启服务器。

2、参看在OA.jsp?page=/oracle/apps/fnd/framework/util/css/webui/CssStyleLookupPG页面中是否存在你新追加的CSS,如果有,就说明正确了。
 楼主| 发表于 2010/10/18 11:05:32 | 显示全部楼层
回复 sumury 的帖子

CssStyleLookupPG页面没有我新增的,那该怎么办,运行时,有几个css是能运行,但是效果却跟我定义的有差别
发表于 2012/9/29 14:54:56 | 显示全部楼层
非常感谢 学习啦
发表于 2013/5/17 21:08:43 | 显示全部楼层
学习了setAttributeValue(INLINE_STYLE_ATTR, style)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2025/11/30 03:51 , Processed in 0.016871 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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