zoukankan      html  css  js  c++  java
  • 在Oracle的FORM中对不同的状态采取不同的颜色显示

    例如:有一张工资单,当某个员工的工资超过5000时,用户需要系统能用红色来指示员工的姓名和工资.
    实现方法:
    我们新做一张form,按常规建好block和item并建一个visual attributes v1(background 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

        中的颜色自定义功能得出

  • 相关阅读:
    2018-10-8-Win10-使用-GHO-安装出现-UWP-软件打开闪退-应用商店无法安装软件
    2019-4-29-WPF-如何判断一个控件在滚动条的里面是用户可见
    2018-9-29-Roslyn-通过-Nuget-引用源代码-在-VS-智能提示正常但是无法编译
    2019-8-31-dotnet-判断程序当前使用管理员运行降低权使用普通权限运行
    2019-8-31-dotnet-非泛型-类型-System.Collections.IEnumerable-不能与类型实参一起使用
    2019-3-16-win10-uwp-在-ItemsPanelTemplate-里面通过样式绑定-Orientation-显示方向
    2018-10-29-微软-Tech-Summit-技术暨生态大会课程-·-基于-Roslyn-打造高性能预编译框架...
    2019-7-27-解决从旧格式的-csproj-迁移到新格式的-csproj-格式-AssemblyInfo-文件值重复问题...
    about
    2018-2-13-win10-uwp-上传Nuget-让别人用我们的库
  • 原文地址:https://www.cnblogs.com/liuweicong39/p/2530625.html
Copyright © 2011-2022 走看看