使用APEX 5.0中的日期选择器进行动态操作

时间:2015-09-29 03:48:10

标签: oracle-apex oracle-apex-5

我想在APEX 5.0中使用日期选择器来使用动态操作,以便在选择start_dateend_date时,交互式报告应显示所选日期范围的数据。

我首先在APEX中创建了一个交互式报告,然后使用日期选择器创建了一个页面项。在我的数据库表中,我有一个列名time_stamp,其数据类型为varchar2,日期格式为YYYY-MM-DD-HH24:MI:SS

我对交互式报告的查询如下所示:

Select * from table1 where time_stamp between to_char(to_date(:p1_item,'YYYY-MM-DD-HH24:MI:SS'),'DD-MM-YY') and to_char(to_date(:p2_item,'YYYY-MM-DD-HH24:MI:SS'),'DD-MM-YY')

(其中p1_itemp2_item是日期选择器的页面项),"格式掩码"我设置为DD-MM-YY的日期选择器的属性。现在,我需要定义一个动态操作,以根据所选的start_dateend_date执行我的交互式报表SQL查询。我需要进一步了解创建此类动态操作的步骤,并查找需要设置哪些属性来实现此目的的详细步骤。

2 个答案:

答案 0 :(得分:4)

要开始使用,请将交互式报告查询更改为:

          Select * from table1 
          where  
          (:p1_item is null and :p2_item is null) or time_stamp
          between to_date(:p1_item,'DD-MM-YY') and 
          to_date(:p2_item,'DD-MM-YY')

然后在p2_item下创建一个动态动作。将其event设置为"更改"然后将其true操作设置为"提交页面"

答案 1 :(得分:1)

让页面上的数据加载的更好方法是在每个日期选择器下创建动态操作。对于每个日期选择器动态操作,将事件设置为更改;将其真正的操作设置为执行Pl / SQL代码并创建另一个真正的操作并将其设置为刷新

执行Pl / SQL代码放入其代码中:

BEGIN
  null;
END;

并将要提交的页面项目设置为:p1_item(以及:P2_item用于其相应的动态操作)。

对于刷新操作,将选择类型设置为" region"然后将 region 设置为交互式报告。

您的查询应该像@Vance所说:

  Select * from table1 
  where  
  (:p1_item is null and :p2_item is null) or time_stamp
  between to_date(:p1_item,'DD-MM-YY') and 
  to_date(:p2_item,'DD-MM-YY')

当您的网页变得更加复杂并且您可能不希望从单个日期选择中提交整个页面时,这样做将会非常有用。它也快一点,因为你不必等待整个页面重新加载。