Oracle Apex 5.0:等到生成IR,直到输入条件字段

时间:2016-04-18 22:53:27

标签: oracle oracle-apex-5

我有一个APEX 5.0.3.00.03页面,其中包含许多条件字段,后跟一个包含交互式报告(IR)的区域。我想推迟生成的IR,直到生成"生成"单击按钮,但我遇到了麻烦。没有标准的报告会通过讨厌的5表连接产生数百万行,所以我想推迟处理,直到用户准备好。我知道我可以执行/*+ FIRST_ROWS */提示,但仍希望避免在用户选择某些条件之前调用SQL。

我尝试了以下内容:

创建了一个隐藏字段P210_WAIT,初始值为' TRUE',我将其包含在SQL标准中,如下所示:

select * from tab_1, tab_2, tab_3, tab_4, tab_5
where :P210_WAIT != 'TRUE' 
and  -- join, and dozens of other criteria here

在“生成”按钮的动态操作中,我做了两件事:

  1. 执行PL / SQL代码以设置:P210_WAIT := 'FALSE';
  2. 刷新操作:
    • 操作:刷新
    • 受影响的元素:选择类型:区域。地区:(包含我的IR的地区)
  3. 我在PL / SQL代码中有调试语句,它们正在出现,但是生成报告的SQL没有运行,这意味着刷新操作不会被唤醒" IR。

    看起来IR SQL正在页面加载时执行,因为我正在动态设置IR属性"当没有找到数据时#34;值最初说"请选择条件并单击 Generate 按钮显示报告"那是有效的。

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,那么你的主要问题是:刷新该地区的动态行动不起作用,我是否正确?

如果这是问题,请尝试:

  •   

    首先,确保源查询中的所有绑定变量都列在源查询区域下的Page Items to Submit

  •   

    然后,为IR区域分配Static ID

  •   

    接下来,将Refresh动态操作更改为Execute Javascript并粘贴此

     $('#static_id').trigger('apexrefresh');
    

希望这有帮助。