修改form 的字段背景颜色及字体颜色

34 篇文章 1 订阅

1.通过个性化实现

 

2. 修改form 代码

有一张工资单,当某个员工的工资超过5000时,用户需要系统能用红色来指示员工的姓名和工资. 实现方法: 我们新做一张form,按常规建好block和item并建一个visual attributes v1(background color=red(背景颜色是红色)foreground color=red(字体颜色是红色)).在相应的block level上新建一个post-query trigger并编写代码如下: --如果工资(block.item1)大于5000 if :block.item1 > 5000 then --指示出相应的员工姓名(block.item2) set_item_instance_property('block.item2',To_Number(:SYSTEM.TRIGGER_RECORD),VISUAL_ATTRIBUTE,'v1'); --指示出相应的工资(block.item3) set_item_instance_property('block.item3',To_Number(:SYSTEM.TRIGGER_RECORD),VISUAL_ATTRIBUTE,'v1'); end if;

 

 

 

-----总结如下:

set_item_instance_property,display_item两个子程序

1、set_item_instance_property,display_item 

  两个内置子程序都可以用来设置项中某行的

相关属性(同项中的其余行属性会保持原来的

属性不变),如颜色。

only changes the instance of that item that belongs

to the block's current record.

If you want to change all instances of an item in

a multi-record block, use SET_ITEM_PROPERTY .

2、二者区别:

  a、display_item是较早版本中出现的,而

set_item_instance_property是较晚版本中才

有的(6i以后的应都有)。

  b、display_item有一个特性,就是当通过其改变

后的属性,会延伸到与其同步的项上.即与

其同步的项也跟着变了.

   但set_item_instance_property已取消了此特性.

DISPLAY_ITEM has the side-effect of also

changing the appearance of any items that

mirror the changed instance.

SET_ITEM_INSTANCE_PROPERTY does

not change mirror items.

(哦,原来mirror items 有同步项的意思)

c、如硬是还要找个区别的话,就是调用时所需

参数有所不同,一个需要提供记录号,一个不

用。

   其实根据这点可以猜测到

set_item_instance_property比display_item可能可

以使用的地方要多要广!

至于到底哪些地方set_item_instance_property可

用而display_item不可用。这个留给自己或大家

有时间的时候再去研究下

3、另提一下set_item_property这个内置子程序。

  通过这个内置子程序设置的是整个项(即某项的

所有记录)的属性。

另发现当利用此内置子程序改变颜色时,颜色值

应是r(红)、g(绿)、b(蓝)三原色的组合,而不是在属

性面版里直接选择颜色,

然后返回到颜色属性那栏里的值(即使看起来也

是rgb组合)。否则将发现设置不成功(但不报错)。

如:红色为:R255G0B0 (而不是RED) 酸橙色

为:R153G204B0。

具体要找某个颜色的rgb组合代码可借助于WORD

中的颜色自定义功能得出

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值