1

我在 6i 中有一个 Oracle 选项卡式表单,我在第一个选项卡上有一个文本项我想设置一个代码,当我更改选项卡时,项目应该移动到当前选项卡。我的意思是项目应该只移动或查看当前活动选项卡,如果项目在第一个选项卡上并且我选择第二个选项卡,那么第一个选项卡上的项目应该放在第二个选项卡上。

4

2 回答 2

1

我认为,您不能在选项卡之间移动项目,但我需要这样的东西。实际上很高兴从标签标签中看到当前呈现的数据类型而不使用按钮或文本标签。如果您不想创建多个块,而只想更改 where 子句或更改其他属性,

  1. 以您的项目为例 BLOCK_A.NAME(在 TAB1 上),将项目复制为 BLOCK_A.NAME_2
  2. 在重复项目上使用与项目属性同步并从列表中选择名称项目。
  3. Set TAB 你想在上面显示重复的项目。

WHEN-TAB-PAGE-CHANGED 触发器可能如下所示:

declare
   curr_tab varchar2(30);
begin
    if :SYSTEM.CURRENT_BLOCK in ('BLOCK_A') then
        curr_tab := get_canvas_property('MYTABPAGE',topmost_tab_page); 
        if curr_tab = 'TAB1' then
            --Set WHERE 1, execute_query;
            go_item('BLOCK_A.NAME');--Navigate to TAB1
        else
            --Set WHERE 2, execute_query;
            go_item('BLOCK_A.NAME_2');--Navigate to TABX
        end if;
    end if;
end;

这样我可以拥有多个具有相同数据源但属性不同的项目。对于直接导航,只需转到适当的项目以显示您想要的 TAB。

于 2014-02-25T16:31:07.023 回答
0

有一个触发器“WHEN-TAB-PAGE-CHANGED”可能会帮助你,但是......

...在我看来,这听起来像是您想要在另一个“基础”画布上放置一个选项卡式画布。如果您将此字段始终显示在基本画布上,它始终可见,您不必在选项卡之间移动数据。

于 2012-07-04T04:39:41.900 回答