zoukankan      html  css  js  c++  java
  • TAB页制作

    tab标签画布和fixed画布的应用

    加标签画布,继承子类信息

    tab画布添加标签,按照需求添加

    设置标签的子类信息

    创建与标签同名的堆叠画布,有几个标签建几个画布,继承子类信息

    数据块的项分别显示在不同的画布上

    每个画布里的内容设置位置,不同画布被切割大小要相同(美观),项的起始位置也要相同,效果如下

    tab画布,fixed画布与第一个标签画布堆叠在主画布上MAIN

     

    调整各个画布的位置,效果如下

    调完第一个标签画布的位置后,要以此调整所有标签画布的位置与第一画布重叠

    在程序单元的增删改查包中增加一个存储过程代码如下:

    procedure line_tab(event in varchar2) is

     

      curr_canvas_name varchar2(30) := get_item_property(:system.cursor_item,

                                                        item_canvas);

      current_tab varchar2(30) := get_canvas_property('LINE_TAB',

                                          topmost_tab_page);

      target_canvas_name varchar2(30) := :system.tab_new_page;

     

    begin

      if (event = 'WHEN-TAB-PAGE-CHANGED') then

        if curr_canvas_name in ('MAIN') then

             show_view(target_canvas_name);

          go_item(:system.cursor_item);

        else

             validate(item_scope);

             if not form_success then

                 set_canvas_property('LINE_TAB',topmost_tab_page, :system.tab_previous_page);

                 return;

             end if;

             if target_canvas_name = 'LINE_MAIN' then

            go_item('ORDER_HEADERS_V.VENDOR_ID');

          elsif target_canvas_name = 'LINE_ADDITION' then

            go_item('ORDER_HEADERS_V.OTHER1');

             elsif target_canvas_name = 'LINE_OTHERS' then

            go_item('ORDER_HEADERS_V.OTHER6');

             end if;

          end if;

      elsif (event = 'WHEN-NEW-ITEM-INSTANCE') then

        if ((curr_canvas_name in ('LINE_MAIN','LINE_ADDITION','LINE_OTHERS')) and (curr_canvas_name != current_tab)) then

          set_canvas_property('LINE_TAB',topmost_tab_page,curr_canvas_name);

        end if;

      elsif (event = 'INIT') then

        show_view('LINE_TAB');

        show_view('LINE_FIXED');

        hide_view('LINE_OTHERS');

        hide_view('LINE_ADDITION');

        show_view('LINE_MAIN');

      else

        app_exception.invalid_argument('LINE_TAB',

                    'EVENT', event);

      end if;

     

    end line_tab;

    1. form级别触发器WHEN-TAB-PAGE-CHANGED,代码如下

    declare

    the_canvas varchar2(30) := :system.event_canvas;

    begin

    if the_canvas = 'LINE_TAB' then

      

    ORDER_HEADERS_V_PRIVATE.line_tab('WHEN-TAB-PAGE-CHANGED');

    end if;

    end;

    form级别触发器WHEN-NEW-FORM-INSTANCE,增加如下代码

    每个标签的开始项和结束项item下增加触发器WHEN-NEW-ITEM-INSTANCE

  • 相关阅读:
    poj3180 The Cow Prom
    洛谷P1434 滑雪
    洛谷P1199 三国游戏
    洛谷P1230 智力大冲浪
    洛谷P1012 拼数
    洛谷P1106 删数问题
    bzoj3538 [Usaco2014 Open]Dueling GPS
    Android(java)学习笔记134:Android数据存储5种方式总结
    Android(java)学习笔记133:Eclipse中的控制台不停报错Can't bind to local 8700 for debugger
    Android(java)学习笔记132:eclipse 导入项目是提示:某些项目因位于工作空间目录中而被隐藏。
  • 原文地址:https://www.cnblogs.com/akami/p/6932565.html
Copyright © 2011-2022 走看看