Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
DayRenderEventHandler, délégué
Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans System.Web.dll)
Paramètres
- sender
- Type : System.Object
Source de l'événement.
- e
- Type : System.Web.UI.WebControls.DayRenderEventArgs
DayRenderEventArgs qui contient les données d'événement.
Bien que la liaison de données ne soit pas prise en charge pour le contrôle Calendar, il est possible de modifier le contenu et la mise en forme des cellules de date individuelles. Avant que le contrôle Calendar ne s'affiche sur une page Web, il crée ses propres composants et les assemble. L'événement DayRender est déclenché lors de la création de chaque cellule de date dans le contrôle Calendar. Vous pouvez contrôler le contenu et la mise en forme d'une cellule de date lors de sa création en fournissant du code dans le gestionnaire d'événements de l'événement DayRender. Pour plus d'informations sur la personnalisation du contenu d'une cellule de date, consultez OnDayRender.
Lorsque vous créez un délégué DayRenderEventHandler, vous identifiez la méthode qui gérera l'événement. Pour associer l'événement à votre gestionnaire d'événements, ajoutez une instance du délégué à l'événement. Le gestionnaire d'événements est appelé à chaque fois que l'événement se produit, sauf si vous supprimez le délégué. Pour plus d'informations sur les délégués de gestionnaires d'événements, consultez Événements et délégués.
L'exemple de code suivant illustre la spécification et le codage du gestionnaire de l'événement DayRender pour que la couleur d'arrière-plan soit jaune pour les jours figurant dans le mois affiché. Il montre également comment personnaliser le contenu d'une cellule en ajoutant un contrôle System.Web.UI.LiteralControl à la cellule.
<%@ 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>
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.