- - PR -
CalendarExtenderコントローラについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-08-22 19:06
こんにちわ、いつもお世話になっています。
1.CalendarExtenderコントローラを使って、テキストボックスをクリックした時に Calendarを表示させて、選択した日付をテキストボックス設定するといった処理を しているのですが、日付を選択したときに自動的にCalendarを消すことができない かな〜というところで悩んでいます。 2.Calendarのタイトルに表示されている月,年とフッタの現在の月日、年のフォーマットは 変更できないのでしょうか? 分かる方がいましたらご教授御願いいたします。 下記がソースです。 <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server" EnableScriptGlobalization="True" EnableScriptLocalization="True" /> <div id="dateRange"> 受注日: <asp:TextBox ID="txtStartDate" runat="server" /> 〜 <asp:TextBox ID="txtEndDate" runat="server" /> <asp:Button ID="btnLookup" runat="server" Text="検索" /> <ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="txtStartDate" Format="yyyy/MM/dd" /> <ajaxToolkit:CalendarExtender ID="CalendarExtender2" runat="server" TargetControlID="txtEndDate" Format="yyyy/MM/dd" /> </div> </form> | ||||||||
|
投稿日時: 2007-08-23 12:51
一部自己解決
これが正解ではないと思いますけど・・・・ 1.に対してはCalendarExtenderのOnClientDateSelectionChangedでJavaScriptの関数を 呼び出して、フォーカスを移してCalendarを消すことができました。 <script type="text/javascript" language="javascript"> function test1(){ document.body.focus(); } </script> <ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="txtStartDate" Format="yyyy/MM/dd" OnClientDateSelectionChanged="test1" /> 2.は未解決です。フォーマットの変更はできないんだろうな〜〜。 | ||||||||
|
投稿日時: 2007-08-23 21:37
こちら
http://www.asp.net/AJAX/Control-Toolkit/Live/Calendar/Calendar.aspx にあるサンプルの3つめのように PopupButtonID を指定すれば、 日付を選択した時点でポップアップが一応消えます。 カレンダーのポップアップに表示される日時フォーマットは、CalendarExtender のソース(JavaScript)を変更しないと現状はだめですね。 もし、AJAX Control Toolkit のソースの修正が可能でしたら、 %ProgramFiles%\\Microsoft ASP.NET\\AJAX Control Toolkit\\AjaxControlToolkit\\Calendar\\CalendarBehavior.js の886行目や943行目あたりを修正してみてください。 たとえば、943行目では、 todaysDate.localeFormat("MMMM d, yyyy"); のように、フォーマットが指定されています。 | ||||||||
|
投稿日時: 2007-08-24 11:05
chackさん
イメージを使用したくないのでこの方法は使えないんです。
どこでフォーマットの設定をしているのか分からなかったので、有難うございました。 試してみます。 | ||||||||
|
投稿日時: 2007-08-28 10:44
AJAX Control Toolkit のソースを修正してフォーマットの変更ができました。 有難うございました。 | ||||||||
|
投稿日時: 2008-01-19 20:17
カレンダーのポップアップに表示される日時フォーマットについて同じように悩んでいて、Google 検索からこちらに辿り着きました。
CalendarExtender.js を修正すると対応できる、ということで、なるほど!と思いましたが、いろいろ考えたところ、実行時に動的に書き換える手法もあり? と思いつきました。 とりあえず、自分は、下記 JavaScript をページロード時に実行することで対応できました。 var f = AjaxControlToolkit.CalendarBehavior.prototype._performLayout.toString(); f = f.replace('"MMMM, yyyy"','"yyyy年 M月"').replace('"MMMM d, yyyy"','"yyyy年 M月 d日"'); eval("AjaxControlToolkit.CalendarBehavior.prototype._performLayout = "+f); 自分のブログにも綴ってみました。 http://devadjust.exblog.jp/7018028/ | ||||||||
|
投稿日時: 2008-01-22 19:22
CalendarExtender.jsを修正しなくてもできるんだ〜。
試してみます〜有難う御座いました。 |
1