英語で読む

次の方法で共有


Calendar.DayRender イベント

定義

各日付が Calendar コントロールのコントロール階層で作成されると発生します。

public event System.Web.UI.WebControls.DayRenderEventHandler DayRender;

イベントの種類

次のコード例では、イベントのハンドラー DayRender を指定してコーディングし、表示される月の日数の背景色を黄色にする方法を示します。 また、セルにコントロールを追加して、セルの内容を System.Web.UI.LiteralControl カスタマイズする方法も示します。

<%@ 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>DayRender Event Example</title>
<script language="C#" runat="server">
   
      void DayRender(Object source, DayRenderEventArgs e) 
      {

         // Change the background color of the days in the month
         // to yellow.
         if (!e.Day.IsOtherMonth && !e.Day.IsWeekend)
            e.Cell.BackColor=System.Drawing.Color.Yellow;

         // Add custom text to cell in the Calendar control.
         if (e.Day.Date.Day == 18)
            e.Cell.Controls.Add(new LiteralControl("<br />Holiday"));

      }

   </script>
 
</head>
 
<body>
 
   <form id="form1" runat="server">

      <h3>DayRender Event Example</h3>
 
      <asp:Calendar id="calendar1" 
                    OnDayRender="DayRender"
                    runat="server">

         <WeekendDayStyle BackColor="gray">
         </WeekendDayStyle>

      </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 runat="server">
    <title>Calendar DayRender Example</title>
<script runat="server">
   
      void DayRender(Object sender, DayRenderEventArgs e) 
      {

         // Change the background color of the days in the month
         // to yellow.
         if (!e.Day.IsOtherMonth && !e.Day.IsWeekend)
         {
            e.Cell.BackColor=System.Drawing.Color.Yellow;
         }

         // Add custom text to cell in the Calendar control.
         if (e.Day.Date.Day == 18)
         {
            e.Cell.Controls.Add(new LiteralControl("<br />Holiday"));
         }

      }

      void Page_Load(Object sender, EventArgs e)
      {

         // Manually register the event-handling method for the DayRender  
         // event of the Calendar control.
         Calendar1.DayRender += new DayRenderEventHandler(this.DayRender);

      }

   </script>
 
</head>
 
<body>
 
   <form id="form1" runat="server">

      <h3>Calendar DayRender Example</h3>
 
      <asp:Calendar id="Calendar1" 
                    runat="server">

         <WeekendDayStyle BackColor="gray">
         </WeekendDayStyle>

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

注釈

このイベントは、コントロールのコントロール階層で毎日作成されるときに発生します Calendar

データ バインディングはコントロールではサポートされていません Calendar が、個々の日付セルの内容と書式設定を変更できます。 コントロールが Calendar Web ページに表示される前に、コントロールを構成するコンポーネントを作成してアセンブルします。 イベントは DayRender 、コントロールの各日付セルが Calendar 作成されるときに発生します。 イベントのイベント ハンドラーにコードを指定することで、日付セルの作成時の内容と書式設定を DayRender 制御できます。 日付セルの内容をカスタマイズする方法の詳細については、「」を参照してください OnDayRender

注意

コントロールの DayRender レンダリング中 Calendar にイベントが発生するため、 などの LinkButtonイベントを発生させることができるコントロールを追加することはできません。 静的コントロール (、 などSystem.Web.UI.LiteralControlLabelImageHyperLink) のみを追加できます。

イベントの処理の詳細については、「処理とイベントの発生」を参照してください。

適用対象

製品 バージョン
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

こちらもご覧ください