DayRenderEventHandler Delegar
Definição
public delegate void DayRenderEventHandler(System::Object ^ sender, DayRenderEventArgs ^ e);
public delegate void DayRenderEventHandler(object sender, DayRenderEventArgs e);
type DayRenderEventHandler = delegate of obj * DayRenderEventArgs -> unit
Public Delegate Sub DayRenderEventHandler(sender As Object, e As DayRenderEventArgs)
Parâmetros
- sender
- Object
A fonte do evento.The source of the event.
Um DayRenderEventArgs que contém os dados do evento.A DayRenderEventArgs that contains the event data.
Exemplos
O exemplo de código a seguir demonstra como especificar e codificar um manipulador para o DayRender evento para tornar a cor do plano de fundo amarela para os dias no mês exibido.The following code example demonstrates how to specify and code a handler for the DayRender event to make the background color yellow for the days in the displayed month. Ele também demonstra como personalizar o conteúdo de uma célula adicionando um System.Web.UI.LiteralControl controle à célula.It also demonstrates how to customize the contents of a cell by adding a System.Web.UI.LiteralControl control to the cell.
<%@ 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="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>DayRender Event Example</title>
<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 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>
<%@ 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 runat="server">
<title>Calendar DayRender Example</title>
<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 id="form1" runat="server">
<h3>Calendar DayRender Example</h3>
<asp:Calendar id="Calendar1"
runat="server">
<WeekendDayStyle BackColor="gray">
</WeekendDayStyle>
</asp:Calendar>
</form>
</body>
</html>
Comentários
Embora não haja suporte para a vinculação de dados para o Calendar controle, é possível modificar o conteúdo e a formatação das células de data individuais.Although data binding is not supported for the Calendar control, it is possible to modify the content and formatting of the individual date cells. Antes de o Calendar controle ser exibido em uma página da Web, ele cria e monta os componentes que compõem o controle.Before the Calendar control is displayed on a Web page, it creates and assembles the components that make up the control. O DayRender evento é gerado quando cada célula de data no Calendar controle é criada.The DayRender event is raised when each date cell in the Calendar control is created. Você pode controlar o conteúdo e a formatação de uma célula de data quando ela é criada fornecendo código no manipulador de eventos para o DayRender evento.You can control the contents and formatting of a date cell when it is created by providing code in the event handler for the DayRender event. Para obter mais informações sobre como personalizar o conteúdo de uma célula de data, consulte OnDayRender .For more information on customizing the contents of a date cell, see OnDayRender.
Ao criar um DayRenderEventHandler delegado, você identifica o método que manipulará o evento.When you create a DayRenderEventHandler delegate, you identify the method that will handle the event. Para associar o evento ao manipulador de eventos, adicione uma instância do delegado ao evento.To associate the event with your event handler, add an instance of the delegate to the event. O manipulador de eventos é chamado sempre que o evento ocorre, a menos que você remova o representante.The event handler is called whenever the event occurs, unless you remove the delegate. Para obter mais informações sobre delegados de manipulador de eventos, consulte manipulando e gerando eventos.For more information about event handler delegates, see Handling and Raising Events.
Métodos de Extensão
| GetMethodInfo(Delegate) |
Obtém um objeto que representa o método representado pelo delegado especificado.Gets an object that represents the method represented by the specified delegate. |