我在6i中有一个Oracle选项卡表单,我在第一个选项卡上有一个文本项目我想设置一个代码,当我更改选项卡时,项目应该移动到当前选项卡。我的意思是项目应移动或仅查看当前活动选项卡,如果项目在第一个选项卡上,我选择第二个选项卡,则第一个选项卡上的项目应放在第二个选项卡上。
答案 0 :(得分:0)
触发“WHEN-TAB-PAGE-CHANGED”可能会帮助你,但是......
...对我而言,就像你想在另一个“基础”画布上面的标签画布一样。如果您想要将此字段始终显示在基础画布上,它始终可见,您不必在选项卡之间移动数据。
答案 1 :(得分:0)
我认为,你不能在标签之间移动项目,但我需要这样的东西。从标签标签看,实际呈现的是什么类型的数据,而不是使用按钮或文本标签。 如果您不想创建多个块,但只更改where子句或更改其他属性,
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。