Calendar.OnDayRender メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > Calendar.OnDayRender メソッドの意味・解説 

Calendar.OnDayRender メソッド

Calendar コントロールの DayRender イベント発生させて DayRender イベントカスタム ハンドラ指定できるようにします。

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

Protected Overridable Sub
 OnDayRender ( _
    cell As TableCell, _
    day As CalendarDay _
)
Dim cell As TableCell
Dim day As CalendarDay

Me.OnDayRender(cell, day)
protected virtual void OnDayRender (
    TableCell cell,
    CalendarDay day
)
protected:
virtual void OnDayRender (
    TableCell^ cell, 
    CalendarDay^ day
)
protected void OnDayRender (
    TableCell cell, 
    CalendarDay day
)
protected function OnDayRender (
    cell : TableCell, 
    day : CalendarDay
)

パラメータ

cell

表示するセル情報格納している TableCell。

day

表示する日付情報格納している CalendarDay

解説解説

データ連結Calendar コントロールではサポートされていませんが、各日セル内容と書式は変更できますCalendar コントロールは、Web ページ表示される前に構成要素であるコンポーネント作成してアセンブルます。DayRender イベントは、Calendar コントロール各日セル作成されるときに発生しますDayRender イベントイベント ハンドラコード記述することで、日付セル作成時にその内容と書式を制御できます

イベント ハンドラは、イベント データ格納されている DayRenderEventArgs オブジェクト受け取りますDayRenderEventArgs オブジェクトには、日付セル書式プログラムにより制御するためにユーザー使用できる 2 つプロパティ格納されています。Cell プロパティセル表示されることを表しますが、Day プロパティセル日付表示されることを表します

Cell プロパティの Control.Controls コレクションコントロール動的に追加することにより、セル内容カスタマイズすることもできます

メモメモ

DayRender イベントCalendar コントロール表示中に発生するため、ユーザーイベント発生させる可能性がある LinkButton などのコントロール追加できません。追加できるのは System.Web.UI.LiteralControl、LabelImageHyperLink などのスタティック コントロールだけです。

イベント発生すると、デリゲート使用してイベント ハンドラ呼び出されます。詳細については、「イベントデリゲート」を参照してください

OnDayRender メソッド使用すると、デリゲート結び付けずに、派生クラスイベント処理することもできます派生クラスイベント処理する場合は、この手法をお勧めます。

継承時の注意 派生クラスOnDayRenderオーバーライドする場合は、登録されているデリゲートイベント受け取ることができるように、基本クラスOnDayRender メソッド呼び出してください

使用例使用例

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

<%@ Page Language="VB" AutoEventWireup="True"
 %>
<html>
<head>

   <script language="VB" runat="server">
   
        Sub DayRender(source As Object,
 e As DayRenderEventArgs)
            
            ' Change the background color of the days in the month
            ' to yellow.
            If Not e.Day.IsOtherMonth And
 Not e.Day.IsWeekend Then
                e.Cell.BackColor = System.Drawing.Color.Yellow
            End If 
            ' Add custom text to cell in the Calendar control.
            If e.Day.Date.Day = 18 Then
                e.Cell.Controls.Add(New LiteralControl(ChrW(60)
 & "br" & ChrW(62) & "Holiday"))
            End If 
        End Sub 'DayRender 

   </script>
 
</head>
 
<body>
 
   <form 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" %>
<html>
<head>

   <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 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="JScript" AutoEventWireup="True" %>
<html>
<head>

   <script language="JScript" runat="server">
   
      function DayRender(source : Object, e : DayRenderEventArgs)
 
      {

         // 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 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="VB" AutoEventWireup="True"
 %>
<html>
<head>

   <script runat="server">
   
      Sub DayRender(sender as Object,
 e As DayRenderEventArgs) 

         ' Change the background color of the days in the month
         ' to yellow.
         If (Not e.Day.IsOtherMonth) And
 (Not e.Day.IsWeekend) Then
        
            e.Cell.BackColor=System.Drawing.Color.Yellow
         
         End If

         ' Add custom text to cell in the Calendar control.
         If e.Day.Date.Day = 18 Then
         
            e.Cell.Controls.Add(New LiteralControl("<br>Holiday"))
         
         End If

      End Sub

      Sub Page_Load(sender As Object,
 e As EventArgs)

         ' Manually register the event-handling method for the DayRender
  
         ' event of the Calendar control.
         AddHandler Calendar1.DayRender, AddressOf
 DayRender

      End Sub

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

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

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

      </asp:Calendar>
                   
   </form>
          
</body>
</html>
   
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>

   <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 runat="server">

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

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

      </asp:Calendar>
                   
   </form>
          
</body>
</html>
   
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からCalendar.OnDayRender メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からCalendar.OnDayRender メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からCalendar.OnDayRender メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

Calendar.OnDayRender メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Calendar.OnDayRender メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS