而不是重定向到第2頁進入表2的信息,你需要提交第1頁和分支第2頁。這將保存會話狀態爲第1頁你不希望第1頁數據更新到Table1中,因此請確保執行插入/更新的過程不會被此提交調用 - 例如使其保存按鈕或其他任何條件。
或者,像我的示例here一樣在一頁上完成。感興趣的頁面是通過創建按鈕到達的第7頁。雖然我沒有使用Apex嚮導來構建它 - 我不確定你是否可以,但我傾向於不使用嚮導和內置的表格工具工具在我的工作中,所以我不確定。
這是我做的第7頁:
1)創建一個空白頁
2)增加了一個HTML區域「新客戶」,並增加了對姓氏和文本項用於DOB日期項目。
3)創建的報告區域 「購買」 和以下SQL:
select apex_item.text(1,'') item_desc
, apex_item.text(2,'') cost
from dual
connect by level <= 5
的CONNECT BY子句是生成從DUAL 5個虛設行的特技。 apex_item
包生成表格形式的項目 - 在這種情況下,2個文本項目的item_desc和成本,與''作爲初始值。
4)創建2個按鈕: SUBMIT - 提交頁面 CANCEL - 重定向到創建一個PL/SQL過程上運行提交如下6頁
5):
declare
l_cust_id integer;
begin
-- Insert the new customer
insert into so_customers (surname, dob)
values (:p7_surname, :p7_dob)
returning cust_id into l_cust_id;
-- Insert the purchases (if data has been entered)
for i in 1..apex_application.g_f01.count loop
if apex_application.g_f01(i) is not null then
insert into so_purchases (cust_id, item_desc, cost)
values (l_cust_id,
apex_application.g_f01(i),
apex_application.g_f02(i)
);
end if;
end loop;
end;
我以SUBMIT按鈕爲條件進行處理。apex_application
包中包含對應於表格形式列的數組變量g_f01,g_f02等。
6)當按下SUBMIT按鈕時,創建一個返回到第6頁的分支。
如果您希望功能偏離Apex的頁面和區域嚮導提供的「開箱即用」行爲,您必須編寫更復雜的代碼,如您所見。但是通過這種方式你可以做任何事情。
爲了進一步闡明,當你說「基於表格CUSTOMER的表單」時,你的意思是創建一個客戶的簡單數據輸入表單嗎? – 2011-05-18 15:34:47
是的託尼,但在同樣的形式,我想有一個類型的區域允許用戶輸入一個或多個客戶可能有的購買,但我希望這些信息始終顯示在客戶表單中的該區域內,然後用戶通過捕獲CUSTOMER和PURCHASES表提交/提交一次。希望這是有道理的。 – tonyf 2011-05-18 15:38:57
看看http://apex.oracle.com/pls/otn/f?p=36342:6 - 這是你想要的嗎?第一頁只是顯示第7頁創建的數據(按Create按鈕去那裏)。第7頁是「你的」頁面。當你進入一個客戶和一些購買時,按提交。您應該看到您創建的新客戶;點擊他們的名字,購買將顯示在下面。 – 2011-05-18 16:22:34