码迷,mamicode.com
首页 > 其他好文 > 详细

TAB页制作

时间:2017-06-02 12:36:15      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:validate   调整   var   line   9.png   init   cep   nbsp   view   

 

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

技术分享

 

TAB页制作

标签:validate   调整   var   line   9.png   init   cep   nbsp   view   

原文地址:http://www.cnblogs.com/akami/p/6932565.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!