<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="CalenderRender" %>
Calender DayRender
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("
");
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;
}
}