2

我想在 APEX 5.0 中使用日期选择器使用动态操作,以便在选择时start_date交互式end_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 查询。我需要进一步了解创建此类动态操作的步骤,并查找需要设置哪些属性才能实现此操作的详细步骤。

4

2 回答 2

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操作设置为“提交页面”

于 2015-09-29T05:31:19.473 回答
2

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

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

BEGIN
  null;
END;

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

对于刷新操作,将选择类型设置为“区域”,然后将区域设置为交互式报表。

您的查询应如@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')

随着您的页面变得更加复杂,并且您可能不想从单个日期选择中提交整个页面,这样做会很有好处。它也更快一点,因为您不必等待整个页面重新加载。

于 2016-08-22T16:54:13.867 回答