2009年9月18日星期五

ADF_021:使用ADF Faces 之二:数据可视化组件 Gantt

开发环境:JDeveloper 11.1.2.1.0 + Oracle XE Database 10gR2。

本实验需要使用FOD Schema,请参考《发布与运行 Oracle Fusion Order Demo》。

1. 通过SQL语句创建Master VO:OrderShippingSummaryVO

其中,SQL语句内容如下:查看每个用户的最早的下单日期和最晚的送货日期。
因为送货日期总是晚于下单日期,因此from最早的下单日期to最晚的送货日期就是该用户的时间区域。

SELECT persons.person_id,
persons.first_name as "First Name",
persons.last_name as "Last Name",
min(orders.order_date) as "Order Date",
max(orders.order_shipped_date) as "Shipped Date",
concat('Summary', '') as "Task Type"
FROM orders, persons
WHERE orders.customer_id = persons.person_id
GROUP BY persons.person_id, persons.first_name, persons.last_name


2. 通过SQL语句创建Detail VO:OrderShippingDetailsVO

其中,SQL语句内容如下:查看用户的每个订单的情况。

SELECT persons.person_id,
orders.order_id,
orders.order_date as "Order Date",
orders.order_shipped_date as "Shipped Date",
persons.first_name as "First Name",
persons.last_name as "Last Name",
concat('Normal', '') as "Task Type"
FROM orders, persons
WHERE orders.customer_id = persons.person_id


3. 创建MasterVO和DetailsVO之间的ViewLink关系:OrderShippingSummaryToDetailsVL


4. 创建Application Module,并选择VO,如下图


5. 拖放DataControl:OrderShippingSummaryVO1,选择Gantt-->Project

Gantt 具体设置如下:
(1)设置Tasks

(2)设置SubTasks
注意,这里必须选择OrderShippingDetailsVO,而不是OrderShippingDetailsVO2。
如果选择OrderShippingDetailsVO2,运行时点击用户查看详细订单时会报错:
oracle.jbo.NoDefException: JBO-25058: 在OrderShippingSummaryVO1中找不到类型为属性的定义OrderShippingDetailsVO2。

(3)设置Gantt整个起止时间,因为只有2011年8月和9月才有数据,因此设置范围为8月1日到10月1日。


6. 运行页面


Project 下载:ADF_Gantt.7z

没有评论: