Calendar.OnDayRender, méthode
Assembly : System.Web (dans system.web.dll)
protected void OnDayRender ( TableCell cell, CalendarDay day )
protected function OnDayRender ( cell : TableCell, day : CalendarDay )
Paramètres
- cell
Objet TableCell qui contient des informations sur la cellule à retourner.
- day
Objet CalendarDay qui contient des informations sur le jour à retourner.
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 la 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.
Le gestionnaire d'événements reçoit un objet DayRenderEventArgs qui contient les données d'événement. L'objet DayRenderEventArgs contient deux propriétés que vous pouvez utiliser pour contrôler par programme le format de la cellule de date. La propriété Cell représente la cellule rendue, tandis que la propriété Day représente la date à rendre dans la cellule.
Vous pouvez également personnaliser le contenu d'une cellule en ajoutant de manière dynamique des contrôles à la collection Control.Controls de la propriété Cell.
Remarque |
|---|
| Étant donné que l'événement DayRender est déclenché lorsque le contrôle Calendar est rendu, vous ne pouvez pas ajouter de contrôle susceptible de déclencher également un événement, tel que LinkButton. Vous ne pouvez ajouter que des contrôles statiques, tels que System.Web.UI.LiteralControl, Label, Image et HyperLink. |
Le déclenchement d'un événement appelle le gestionnaire d'événements par l'intermédiaire d'un délégué. Pour plus d'informations, consultez Événements et délégués.
La méthode OnDayRender autorise également les classes dérivées à gérer l'événement sans y attacher de délégué. Cette technique est recommandée pour gérer l'événement dans une classe dérivée.
Remarques à l'attention des héritiers Lors de la substitution de OnDayRender dans une classe dérivée, veillez à appeler la méthode OnDayRender de la classe de base de sorte que les délégués inscrits reçoivent l'événement.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" %> <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="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>
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Remarque