【问题标题】:Oracle Apex: radio buttons, forms and reportsOracle Apex:单选按钮、表单和报告
【发布时间】:2015-02-10 15:26:00
【问题描述】:

是否可以为交互式报表的每一行创建一个单选按钮字段或一个复选框字段?

如果上述情况可行,请提交将用户带到另一个包含不同表格的报告的选定行?

请解释一下这是怎么可能的?

非常感谢

【问题讨论】:

    标签: forms report oracle-sqldeveloper oracle-apex interactive


    【解决方案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
    

    如果我在用户选择任意数量的复选框后理解正确,他可以单击一个按钮以显示另一个报告,您将需要选中的复选框。实现这一目标的一种方法是:

    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')
      

    注意:在选择中,您必须使用大写的集合名称。

    【讨论】:

    • 感谢您的回复。我对 Apex 很陌生,想知道您是否遇到过任何工作演示,我可以在执行上述步骤后看到它如何协同工作?
    • Here you go 这实际上是 apex 示例应用程序,您只需输入用户名即可登录。 (此链接仅在几天内可用)。
    • 非常感谢您提供的链接,但遗憾的是它不起作用。无论如何感谢您的帮助:) 我会尝试搜索演示
    • 非常感谢。这行得通,这正是我希望我的应用程序做的事情。再次感谢您的帮助。如果我在实现这个功能时遇到了障碍,可以在这里评论吗?
    • 如果它与这个问题有关,你可以在这里问,否则最好创建另一个问题以获得更多可见性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多