在活动区域​​上执行查询

时间:2016-08-09 09:02:40

标签: oracle-apex oracle-apex-5

我有一个页面,我有大约8个标签区域。每个地区都有一个选择的声明。它们在同时访问页面(页面加载)时执行。因为我有8个同时执行的选择状态导致纯粹的性能。 我的问题是如何只在活动区域​​上执行查询。

Here is what i need

2 个答案:

答案 0 :(得分:1)

你可以尝试这个

  1. 在事件"页面加载"
  2. 上创建动态操作
  3. 创建真正的操作"执行javaScript Code":
  4. window.setTimeout(function(){
      $('.a-Region-carouselLink').click(function(){
        apex.event.trigger(document, 'tabChanged', this);
      })
    }, 500);
    
    1. 设置" Fire On Page Load"到"是"
    2. 创建自定义事件" tabChanged"
    3. 在DA自定义事件中创建真实操作"执行JavaScript代码":

      console.log(this.data);

    4. 测试它 - 每次单击选项卡时,DA都会打印到控制台当前单击的锚点。

    5. 当然,由于延迟0.5秒,它并不完美。它仍然可以让你听到什么标签"点击"。

      为了让您的方案有效,我会这样做:

      1. 创建页面项PX_TAB
      2. 在自定义事件中创建真实操作以设置PX_TAB
      3. 的值
      4. 在自定义事件中创建真实操作以刷新标签内的报告
      5. 设置"要提交的页面项目"到" PX_TAB"在每份要刷新的报告中
      6. 为每个报告添加条件,比较项PX_TAB的值 - 仅当PX_TAB具有预期值时才会执行SQL查询
      7. 编辑2016.08.13

        您可以通过简单地将标签添加到标签

        来绑定标签
        $(document).on('mousedown', 'a.t-Tabs-link', function(){ 
          //this is an anchor used as tab
          console.log(this) 
        })
        

        如果您想以APEX方式保留,请在Execute when Page Loads页面部分输入以下代码或创建新的动态操作On page load

        $(document).on('mousedown', 'a.t-Tabs-link', function(){ 
          apex.event.trigger(document,'tabChanged', this); 
        })
        

        然后添加绑定到名为Custom event的{​​{1}}的动态操作。每当点击标签时,都会触发tabChanged事件,在tabChanged中,您可以Execute JavaScript Code

        引用当前标签

答案 1 :(得分:0)

尝试创建按钮并设置每个按钮的行为以显示所需区域并隐藏其他区域(创建隐藏项目,然后创建设置值1,2,3等的按钮,然后向每个区域添加条件以仅显示区域1当隐藏项目等于1时,区域2为项目值2等。