您的位置:首页 > 其它

InputDate组件使用指南之一:基本功能

2014-08-20 21:18 405 查看
开发运行环境:JDeveloper 11.1.2.3.0 + Oracle Database 11g Express Edition。

1. 创建表Calendar

CREATE TABLE CALENDAR

(
ACTIVITY_ID VARCHAR2(20) NOT NULL
, PROVIDER VARCHAR2(20) NOT NULL
, START_DATE DATE NOT NULL
, END_DATE DATE NOT NULL
, TITLE VARCHAR2(200) NOT NULL
, CONSTRAINT CALENDAR_PK PRIMARY KEY
(
ACTIVITY_ID
)
ENABLE
);

注意这里Start_Date和End_Date是Date类型。

2. 创建应用,使用ADF BC生成模型层

注意到EO和VO的StartDate和EndDate的数据类型都是Timestamp,看来ADF BC把Date类型的表字段默认使用Timestamp数据对象来表示。

3. 创建页面,拖放DataControl生成InputDate组件

4. 运行效果

(1)默认效果,注意没有时间项可以选择。





(2)在EO上设置日期的格式
Format Type: Simple Date。
Format: yyyy-MM-dd HH:mm:ss。





再次运行,可以看到时间项选择,但是变成Inline Popup。





保存后,在数据库中查询Calendar表,发现只有日期保存了,而时间没有保存。

怀疑是一个Bug。

于是把Calendar表Start_Date字段类型改为Timestamp。





再次运行,发现时间也保存到表了。

Project 下载:ADF_InputDate.7z

参考文献:
1. https://forums.oracle.com/forums/thread.jspa?threadID=1074781 2. http://jdevadf.oracle.com/adf-richclient-demo/docs/tagdoc/af_convertDateTime.html 3. http://dkleppinger.blogspot.jp/2011/09/how-to-ignore-time-component-of-date.html 4. http://maping930883.blogspot.jp/2012/08/adf148table-date.html 5. http://jobinesh.blogspot.jp/2011/08/what-you-may-need-to-know-about-data.html 6. http://oracleseeker.com/2009/12/02/adf_history_column_history_type/
7. https://cn.forums.oracle.com/forums/thread.jspa?threadID=1074781 8. https://blogs.oracle.com/shay/entry/a_timehour_selector_in_adf_fac 9. http://jdevadf.oracle.com/adf-richclient-demo/faces/components/inputDate.jspx http://maping930883.blogspot.com/2013/04/adf208inputdate.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: