Calendar クラス

1 つの月の月間カレンダーを表示します。ユーザーはこのカレンダーの日付を選択し、前後の月に移動できます。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)

構文

'宣言
<ControlValuePropertyAttribute("SelectedDate", GetType(DateTime), "1/1/0001")> _
Public Class Calendar
    Inherits WebControl
    Implements IPostBackEventHandler
'使用
Dim instance As Calendar
[ControlValuePropertyAttribute("SelectedDate", typeof(DateTime), "1/1/0001")] 
public class Calendar : WebControl, IPostBackEventHandler
[ControlValuePropertyAttribute(L"SelectedDate", typeof(DateTime), L"1/1/0001")] 
public ref class Calendar : public WebControl, IPostBackEventHandler
/** @attribute ControlValuePropertyAttribute("SelectedDate", System.DateTime, "1/1/0001") */ 
public class Calendar extends WebControl implements IPostBackEventHandler
ControlValuePropertyAttribute("SelectedDate", System.DateTime, "1/1/0001") 
public class Calendar extends WebControl implements IPostBackEventHandler
適用できません。

解説

Calendar コントロールを使用して、Web ページに 1 つの月間カレンダーを表示します。このコントロールにより日付を選択し、前後の月に移動できます。Calendar コントロールは、System.Globalization 名前空間内のすべての System.Globalization.Calendar 型をサポートします。サポート対象には、グレゴリオ暦の他、回教暦などの年月の周期が異なる暦も含まれています。

SelectionMode プロパティを設定することにより、Calendar コントロールで 1 つの日付、1 つの週、または 1 つの月を選択できます。

既定では、コントロールはその月の日付、曜日、月名が付いたタイトルを表示し、月のそれぞれの日付に移動するリンク、および前後の月に移動するリンクを用意します。Calendar コントロールの異なった部分を制御するプロパティを設定することにより、このコントロールの外観をカスタマイズできます。コントロールの異なった部分のスタイルを指定するプロパティの一覧表を次に示します。

プロパティ

説明

DayHeaderStyle

曜日を示すセクションのスタイルを指定します。

DayStyle

表示された月の日付のスタイルを指定します。

NextPrevStyle

タイトル セクションのナビゲーション コントロールのスタイルを指定します。

OtherMonthDayStyle

現在表示されている月にない日付のスタイルを指定します。

SelectedDayStyle

カレンダーの選択された日付のスタイルを指定します。

SelectorStyle

週および月の日付選択列のスタイルを指定します。

TitleStyle

タイトル セクションのスタイルを指定します。

TodayDayStyle

今日の日付のスタイルを指定します。

WeekendDayStyle

週末の日付のスタイルを指定します。

コントロールのさまざまな部分を表示または非表示にすることもできます。表示または非表示にする部分を制御するプロパティの一覧を次の表に示します。

プロパティ

説明

ShowDayHeader

曜日を示すセクションを表示または非表示にします。

ShowGridLines

月の日付の間のグリッド線を表示または非表示にします。

ShowNextPrevMonth

前後の月へのナビゲーション コントロールを表示または非表示にします。

ShowTitle

タイトル セクションを表示または非表示にします。

Calendar コントロールについてはデータ ソースへの連結はサポートされていませんが、それぞれの日付セルの内容と書式は変更できます。Calendar コントロールは、Web ページに表示される前に、構成要素であるコンポーネントを作成してアセンブルします。DayRender イベントは、Calendar コントロールの各日付セルが作成されるときに発生します。DayRender イベントのイベント ハンドラにコードを記述して、作成時に日付セルの内容と書式を制御できます。日付セルの内容をカスタマイズする方法の詳細については、OnDayRender のトピックを参照してください。

メモメモ :

Calendar コントロールは、クライアントのブラウザに ECMAScript (JScript、JavaScript) を表示します。このコントロールが正常に機能するためには、クライアントのブラウザで ECMAScript が有効になっている必要があります。クライアント スクリプトの詳細については、「ASP.NET Web ページのクライアント スクリプト」を参照してください。

ユーザー補助

このコントロールに既定でレンダリングされるマークアップは、Web Content Accessibility Guidelines (WCAG) 1.0 の優先度 1 ガイドラインなどのユーザー補助に関する標準に適合しない可能性があります。このコントロールのユーザー補助サポートの詳細については、「ASP.NET コントロールとユーザー補助」を参照してください。

トピック 場所
チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディング Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : Visual Web Developer での ASP.NET マスタ ページの作成と使用 Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : Visual Web Developer での基本的な Web ページの作成 Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : Visual Studio でのテーマを使用した Web サイトのカスタマイズ Visual Studio での ASP .NET Web アプリケーションの作成
チュートリアル : Visual Web Developer での ASP.NET マスタ ページの作成と使用 Visual Web Developer でのアプリケーションの作成
チュートリアル : Visual Studio でのテーマを使用した Web サイトのカスタマイズ Visual Web Developer でのアプリケーションの作成
方法 : スタイルを使用して、Calendar Web サーバー コントロール要素の表示形式を指定する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールにおけるユーザーの日付選択を制御する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールにおける日付選択に応答する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールにおける日単位のカスタマイズ Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールに今日の日付をプログラムで設定する Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディング
 Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : Visual Web Developer での基本的な Web ページの作成 Visual Studio ASP .NET での Web アプリケーションの作成
方法 : データベースで選択した日付を Calendar コントロールに表示する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールにおける表示月の移動を制御する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールで選択された日付を読み取る Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールの表示形式をカスタマイズする Visual Studio ASP .NET での Web アプリケーションの作成
方法 : スタイルを使用して、Calendar Web サーバー コントロール要素の表示形式を指定する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールにおけるユーザーの日付選択を制御する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールにおける日付選択に応答する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールにおける日単位のカスタマイズ Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールに今日の日付をプログラムで設定する Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : カスタム ビジネス オブジェクトへのデータ バインディング
 Visual Studio ASP .NET での Web アプリケーションの作成
チュートリアル : Visual Web Developer での基本的な Web ページの作成 Visual Studio ASP .NET での Web アプリケーションの作成
方法 : データベースで選択した日付を Calendar コントロールに表示する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールにおける表示月の移動を制御する Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールで選択された日付を読み取る Visual Studio ASP .NET での Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールの表示形式をカスタマイズする Visual Studio ASP .NET での Web アプリケーションの作成
方法 : スタイルを使用して、Calendar Web サーバー コントロール要素の表示形式を指定する ASP .NET Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールにおけるユーザーの日付選択を制御する ASP .NET Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールにおける日付選択に応答する ASP .NET Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールにおける日単位のカスタマイズ ASP .NET Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールに今日の日付をプログラムで設定する ASP .NET Web アプリケーションの作成
方法 : データベースで選択した日付を Calendar コントロールに表示する ASP .NET Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールにおける表示月の移動を制御する ASP .NET Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールで選択された日付を読み取る ASP .NET Web アプリケーションの作成
方法 : Calendar Web サーバー コントロールの表示形式をカスタマイズする ASP .NET Web アプリケーションの作成

使用例

Web ページに Calendar コントロールを作成する方法を次のコード例に示します。

<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>ASP.NET Example</title>
</head>
<body>

   <form id="form1" runat="server">

      <asp:Calendar id="calendar1" runat="server">

           <OtherMonthDayStyle ForeColor="LightGray">
           </OtherMonthDayStyle>

           <TitleStyle BackColor="Blue"
                       ForeColor="White">
           </TitleStyle>

           <DayStyle BackColor="gray">
           </DayStyle>

           <SelectedDayStyle BackColor="LightGray"
                             Font-Bold="True">
           </SelectedDayStyle>

      </asp:Calendar>
            
   </form>
        
</body>
</html>
   
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>ASP.NET Example</title>
</head>
<body>

   <form id="form1" runat="server">

      <asp:Calendar id="calendar1" runat="server">

           <OtherMonthDayStyle ForeColor="LightGray">
           </OtherMonthDayStyle>

           <TitleStyle BackColor="Blue"
                       ForeColor="White">
           </TitleStyle>

           <DayStyle BackColor="gray">
           </DayStyle>

           <SelectedDayStyle BackColor="LightGray"
                             Font-Bold="True">
           </SelectedDayStyle>

      </asp:Calendar>
            
   </form>
        
</body>
</html>
   
<%@ Page Language="JScript" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>ASP.NET Example</title>
</head>
<body>

   <form id="form1" runat="server">

      <asp:Calendar id="calendar1" runat="server">

           <OtherMonthDayStyle ForeColor="LightGray">
           </OtherMonthDayStyle>

           <TitleStyle BackColor="Blue"
                       ForeColor="White">
           </TitleStyle>

           <DayStyle BackColor="gray">
           </DayStyle>

           <SelectedDayStyle BackColor="LightGray"
                             Font-Bold="True">
           </SelectedDayStyle>

      </asp:Calendar>
            
   </form>
        
</body>
</html>
   

GridView コントロールによって表示される列の 1 つを編集する際、これに使用される Calendar コントロールを次の例に示します。Calendar コントロールは、Bind メソッドでデータ ソースにバインドされます。Eval メソッドは、Calendar コントロールによって表示されるデータ値をバインドする際に使用されます。

<Columns>                  
  <asp:BoundField DataField="EmployeeID" HeaderText="Employee ID" ReadOnly="true"/>                    
  <asp:BoundField DataField="FirstName"  HeaderText="First Name"/>
  <asp:BoundField DataField="LastName"   HeaderText="Last Name"/>                    
  <asp:TemplateField HeaderText="Birth Date">
    <ItemTemplate> 
      <asp:Label ID="BirthDateLabel" Runat="Server" 
                 Text='<%# Eval("BirthDate", "{0:d}") %>' />
    </ItemTemplate>
    <EditItemTemplate>
      <asp:Calendar ID="EditBirthDateCalendar" Runat="Server"
                    VisibleDate='<%# Eval("BirthDate") %>'
                    SelectedDate='<%# Bind("BirthDate") %>' />
    </EditItemTemplate>
  </asp:TemplateField>   
  <asp:HyperLinkField Text="Show Detail"
                      DatahrefFormatString="~/ShowEmployeeDetail.aspx?EmployeeID={0}"
                      DatahrefFields="EmployeeID" />                   
</Columns> 
<Columns>                  
  <asp:BoundField DataField="EmployeeID" HeaderText="Employee ID" ReadOnly="true"/>                    
  <asp:BoundField DataField="FirstName"  HeaderText="First Name"/>
  <asp:BoundField DataField="LastName"   HeaderText="Last Name"/>                    
  <asp:TemplateField HeaderText="Birth Date">
    <ItemTemplate> 
      <asp:Label ID="BirthDateLabel" Runat="Server" 
                 Text='<%# Eval("BirthDate", "{0:d}") %>' />
    </ItemTemplate>
    <EditItemTemplate>
      <asp:Calendar ID="EditBirthDateCalendar" Runat="Server"
                    VisibleDate='<%# Eval("BirthDate") %>'
                    SelectedDate='<%# Bind("BirthDate") %>' />
    </EditItemTemplate>
  </asp:TemplateField> 
  <asp:HyperLinkField Text="Show Detail"
                      DatahrefFormatString="~/ShowEmployeeDetail.aspx?EmployeeID={0}"
                      DatahrefFields="EmployeeID" />                   
</Columns> 

.NET Framework のセキュリティ

  • AspNetHostingPermission  (ホスト環境での動作に必要なアクセス許可)。要求値 : LinkDemand。アクセス許可値 : Minimal
  • AspNetHostingPermission  (ホスト環境での動作に必要なアクセス許可)。要求値 : InheritanceDemand。アクセス許可値 : Minimal

継承階層

System.Object
   System.Web.UI.Control
     System.Web.UI.WebControls.WebControl
      System.Web.UI.WebControls.Calendar

スレッド セーフ

この型の public static (Visual Basicでは共有) メンバはすべて,スレッド セーフです。インスタンス メンバの場合は,スレッド セーフであるとは限りません。

プラットフォーム

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

参照

関連項目

Calendar メンバ
System.Web.UI.WebControls 名前空間
SelectionMode
DayHeaderStyle
DayStyle
NextPrevStyle
OtherMonthDayStyle
SelectedDayStyle
SelectorStyle
TitleStyle
TodayDayStyle
WeekendDayStyle
ShowDayHeader
ShowGridLines
ShowNextPrevMonth
ShowTitle

その他の技術情報

ASP.NET Web ページのクライアント スクリプト
Calendar Web サーバー コントロール