Mega Code Archive

 
Categories / ASP.Net Tutorial / ASP Net Controls
 

Calendar with events

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"  Inherits="CalenderRender" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">     <title>Calender DayRender</title> </head> <body>     <form id="form1" runat="server">     <div>     <h1>Using DayRender</h1>     <asp:Calendar ID="calRender"                    runat="server"                    BackColor="White"                    BorderColor="Black"                    BorderStyle="Solid"                    CellSpacing="1"                    Font-Names="Verdana"                    Font-Size="9pt"                    ForeColor="Black"                    Height="504px"                    NextPrevFormat="ShortMonth"                    Width="664px"                    OnDayRender="calRender_DayRender"                    OnSelectionChanged="calRender_SelectionChanged"  >                  <SelectedDayStyle BackColor="#333399" ForeColor="White" />         <OtherMonthDayStyle ForeColor="#999999" />         <DayStyle BackColor="#CCCCCC" />         <TodayDayStyle BackColor="#999999" ForeColor="White" />         <NextPrevStyle Font-Bold="True" Font-Size="8pt" ForeColor="White" />         <DayHeaderStyle Font-Bold="True"                          Font-Size="8pt"                          ForeColor="#333333"                          Height="8pt" />         <TitleStyle BackColor="#333399"                      BorderStyle="Solid"                      Font-Bold="True"                      Font-Size="9pt"                     ForeColor="White" Height="9pt" />                  </asp:Calendar>     <asp:Label ID="labMessage" runat="server" />     </div>     </form> </body> </html> File: Default.aspx.cs using System.Collections; using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Text; public class CalenderEvent {   public enum EventTypes   {     AllDayEvent, Appointment, ToDoReminder   }   private string _shortDescription;   private string _fullDescription;   private DateTime _eventDate;   private EventTypes _eventType;   public CalenderEvent(string shortDescription, string fullDescription, DateTime eventDate, EventTypes eventType)   {     _shortDescription = shortDescription;     _fullDescription = fullDescription;     _eventDate = eventDate;     _eventType = eventType;   }   public override string ToString()   {     StringBuilder sb = new StringBuilder();     sb.Append(this.Date.ToShortDateString());     sb.Append(" -- ");     sb.Append(this.EventTypeString);     sb.Append("<br/>");     sb.Append(FullDescription);     return sb.ToString();       }   public string FullDescription   {     get { return _fullDescription; }     set { _fullDescription = value; }   }   public string ShortDescription   {     get { return _shortDescription; }     set { _shortDescription = value; }   }   public DateTime Date   {     get { return _eventDate; }     set { _eventDate = value; }   }   public EventTypes Type   {     get { return _eventType; }     set { _eventType = value; }   }   public string EventTypeString   {     get     {       if (this.Type == EventTypes.AllDayEvent)         return "All Day Event";       else if (this.Type == EventTypes.Appointment)         return "Appointment";       else         return "To Do Reminder";     }   }   public string ImageFile   {     get     {       if (this.Type == EventTypes.AllDayEvent)         return "cal_allday.gif";       else if (this.Type == EventTypes.Appointment)         return "cal_appointment.gif";       else         return "cal_todo.gif";     }   } } public partial class CalenderRender : System.Web.UI.Page {   private ArrayList _events;     protected void Page_Load(object sender, EventArgs e)     {     FillCalender();     }   private void FillCalender()   {     _events = new ArrayList();     _events.Add(new CalenderEvent("A", "event a", DateTime.Now, CalenderEvent.EventTypes.Appointment));     _events.Add(new CalenderEvent("B", "event b", DateTime.Now.AddDays(2.0), CalenderEvent.EventTypes.ToDoReminder));     _events.Add(new CalenderEvent("C", "event c", DateTime.Now.AddDays(5.0), CalenderEvent.EventTypes.AllDayEvent));   }   protected void calRender_DayRender(object sender, DayRenderEventArgs e)   {     DateTime renderDay = e.Day.Date;     foreach (CalenderEvent cEvent in _events)     {       if (renderDay.ToShortDateString() == cEvent.Date.ToShortDateString())       {         Image img = new Image();         img.ImageUrl = "~/images/" + cEvent.ImageFile;         img.ToolTip = cEvent.ShortDescription;         img.ImageAlign = ImageAlign.Middle;         e.Cell.Controls.Add(img);       }     }   }   protected void calRender_SelectionChanged(object sender, EventArgs e)   {     DateTime selectDay = calRender.SelectedDate;     string message = "";     foreach (CalenderEvent cEvent in _events)     {       if (selectDay.ToShortDateString() == cEvent.Date.ToShortDateString())       {         message = cEvent.ToString();       }     }     if (message == "")       labMessage.Text = "No event scheduled for " + selectDay.ToShortDateString();     else       labMessage.Text = message;   } }