2012-07-04 99 views
0

我在6i中有一個Oracle選項卡表格,我在第一個選項卡上有一個文本項目我想設置一個代碼,當我更改選項卡時,項目應移至當前選項卡。我的意思是項目應移動或僅查看當前活動選項卡,如果項目位於第一個選項卡上,並選擇第二個選項卡,則第一個選項卡上的項目應放置在第二個選項卡上。在Oracle表格中選項卡之間移動項目

回答

0

有一個觸發「WHEN-TAB-PAGE-CHANGED」,可能會幫助你,但是......

...它像你想在另一個頂部的標籤的畫布樣的聲音,我「base」canvas。如果你希望這個字段總是顯示在基本畫布上,那麼它總是可見的,而且你不必在標籤之間移動數據。

+0

有什麼方法可以在運行時更改文本項的選項卡嗎? – user1495028

+0

不是我所知道的。你爲什麼需要這樣做?似乎對我來說不必要的複雜。 – DCookie

+0

Actualy我想爲製表符做這個功能因爲我想從其他項目由於設計目的而將項目放在標籤之外,並且我想爲所有制表符使用一個項目,所以請告訴我如何將選項卡分配給文本項目在運行時 – user1495028

0

我認爲,你不能在標籤頁,但是我需要這樣的東西,從標籤標籤看,實際上很高興,目前提供的數據類型是什麼,不使用按鈕或文本標籤 如果您不想創建多個塊,但只更改where子句或更改其他支柱ERTIES,

  1. 把你比如BLOCK_A.NAME(上TAB1)項目,重複項目作爲 BLOCK_A.NAME_2
  2. 使用與項目財產上重複的項目同步,並從列表中選擇NAME項。
  3. 設置選項卡您想在其上顯示重複的項目。

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; 

這樣我可以有若干項具有相同的數據源,但不同的特性。 對於直接導航,只需轉到適當的項目來顯示你想要的標籤。

相關問題