2015-02-10 39 views
0

是否可以爲交互式報表的每一行創建單選按鈕字段或複選框字段?Oracle Apex:單選按鈕,表單和報表

如果以上可行,請提交該選定的行,將用戶帶到另一個組合不同表的報告中?

請解釋這是可能的嗎?

非常感謝

回答

1

,如果你想創建一個複選框,您將需要使用您可以使用apex_item項目:

APEX_ITEM.CHECKBOX2(p_idx      IN NUMBER 
        , p_value      IN VARCHAR2 DEFAULT NULL 
        , p_attributes    IN VARCHAR2 DEFAULT NULL 
        , p_checked_values   IN VARCHAR2 DEFAULT NULL 
        , p_checked_values_delimiter IN VARCHAR2 DEFAULT ':' 
        , p_item_id     IN VARCHAR2 DEFAULT NULL 
        , p_item_label    IN VARCHAR2 DEFAULT NULL) 
RETURN VARCHAR2; 

,你可以在here看到多個例子,如果你想要一個IR用自定義複選框就可以這樣做:

SELECT APEX_ITEM.CHECKBOX2(1,empno) "Select" 
,  ename 
,  job 
FROM emp 
ORDER by 1 

如果我理解後用戶選擇了任何數量的檢查bo xes他可以點擊一個按鈕來顯示另一個報告,您將需要選中的複選框。實現這一目標的一個方法是:

  1. 創建過程中對選中的複選框添加到集合

    BEGIN 
        apex_collection.create_or_truncate_collection(p_collection_name => 'col_tmp'); 
    
        FOR I in 1..APEX_APPLICATION.G_F01.COUNT 
        LOOP 
         apex_collection.add_member(p_collection_name => 'col_tmp' 
               , p_c001   => APEX_APPLICATION.G_F01(i));     
        END LOOP; 
    END; 
    
  2. 與其他報告建立一個新分支的頁面。在此頁面,您可以使用您選擇的集合,以顯示正確的信息:

    SELECT e.ename 
    ,  e.job 
    ,  d.dname 
        FROM EMP e, 
         DEPT d 
    WHERE e.deptno = d.deptno 
        AND empno IN (SELECT C001 
            FROM apex_collections 
            WHERE collection_name = 'COL_TMP') 
    

注意:在選擇,你必須以大寫使用的集合名稱。

+0

謝謝你的迴應。我對Apex很新,想知道你是否遇到過任何工作演示,我可以在執行上述步驟後看到它們如何協同工作? – tinlin28 2015-02-11 13:18:28

+0

[你在這裏](https://apex.oracle.com/pls/apex/wwv_flow_custom_auth_std.login_page?p_flow_page=25904:55 :) 這實際上是apex示例應用程序,您只需輸入用戶名即可登錄。 (此鏈接將只可用幾天)。 – hmarques 2015-02-11 13:59:14

+0

非常感謝你的鏈接,但遺憾的是它不起作用。無論如何,感謝您的幫助:)我會嘗試搜索演示 – tinlin28 2015-02-11 14:19:26