TIPS-NetAdvantage WebDateChooser日期格式設定

最近在Survey Infragistics的NetAdvantage ASP.NET控件組,首先吸引我注意首推WebDateEdit與WebDateChooser:

WebDateEdit可以全手工輸入,也可以利用按上下左右鍵調整年、月、日或完全以滑鼠點選操作。官網的Live Demo

WebDateChooser則有漂亮的DHTML小月曆可以選日期,也支援直接手工輸入,但上下鍵只能用來調前一天後一天,手工輸入年、月後會自動補"-"。Live Demo

WebDateChooser可以選取預先設好的主題格式組合,小日曆就會長得一副Office 2003或是Windows XP的樣子。不過測試的結果有點小插曲:

在測試環境下執行,某些預設主題(例如: Office 2003)會跑出七顆"星"來(上圖左),完全看不出星期幾,但某些主題就不會有這種問題(上圖右)。查了一下,有個 DayNameFormat參數是關鍵:
<igsch:WebDateChooser ID="WebDateChooser1" runat="server" Value="2007-11-26">
    <CalendarLayout CellPadding="5" DayNameFormat="FirstLetter"

不過它比照.NET的DayNameFormat只有FirstLetter, FirstTwoLetter, Full, Short, Shortest幾種選擇,在此只要設定成Full,就可以看到完整的"星期X"。不過依我個人觀點,星期X用三個字實在太冗長,也破壞了原本精巧的外觀,還不如回歸用英文字表示, 但是要怎麼將中文顯示換成英文呢?

找了半天,連DateFormat之類設定日期格式的屬性都沒找到,後來才發現原來WebDateChooser的日期格式由WebDateChooser.CalendarLayout.Culture決定,難怪在中文版Windows環境中就自動跑出中文來。搞清楚這點,就可依下列方式指定格式:

System.Globalization.CultureInfo info = 
    CultureInfo.CreateSpecificCulture("en-USzh-TW");
info.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd";
WebDateChooser1.CalendarLayout.Culture = info;

PS: 圖中兩個小日曆同時拉開也要點小技巧,NetAdavantage ASP.NET控件的Client Side支援做得還不錯,所以在body onload事件用以下的寫法就搞定囉!

    <script type="text/javascript">
    function pageOnLoad() {
        var wdc1 = igdrp_getComboById("WebDateChooser1");
        var wdc2 = igdrp_getComboById("WebDateChooser2");
        wdc1.setDropDownVisible(true);
        wdc2.setDropDownVisible(true);
    }
    </script>
Published 29 November 2007 12:20 AM 由 Jeffrey


意見

# qianhuajuan said on 04 December, 2007 11:15 PM

WebDateChooser1.CalendarLayout没有Culture这个属性

# Jeffrey said on 05 December, 2007 05:13 PM

會是版本問題嗎? 我用的是v7.3

help.infragistics.com/.../Infragistics2.WebUI.WebDateChooser.v7.3~Infragistics.WebUI.WebSchedule.CalendarLayout_members.html

# 庫洛洛 said on 08 February, 2009 07:37 AM

版主不好意思

可不可請問, 右邊的日曆怎麼做的(有資料顯示在日期上)?

還有怎麼只有右邊的項目會變, 左邊卻不會受影響?

# FormatC said on 08 February, 2009 08:36 AM

不好意思

最近上級也是要求我Survey一套ASP.NET元件

可否請各位幫忙推薦一套元件

目前覺得telerik還可以,發佈簡單,該有的功能也都有

Infragistics以前也嘗試過,不過發佈時比較麻煩不知有無改善了,telerik的是直接將dll與Web專案一起過去即可

# Jeffrey said on 09 February, 2009 03:00 AM

to 庫洛洛,右上的小日曆是Community Server內建的功能,雖有Source Code,但Community Server的架構很精巧複雜,要挖掘要點功夫。如果直要應用,我倒覺得可以再去Google找找其他參考。

to FormatC,Infragistics的部署我覺得還好,不過後來在工作上還是儘可能會找Open Source的Solution,必要時還可以自行修改。

# ljm said on 29 October, 2009 07:20 PM

您好,請問一下,如果想讓它顯示的時候顯示時分秒,編輯的時候也能夠編輯時分秒的話該怎麼設定呢?

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 

請輸入以上的數字:

搜尋

Go

<November 2007>
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678
 
RSS
【工商服務】
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


BlogLook Score and Rank

Syndication