SIGN UP MEMBER LOGIN:    
ARTICLE

How to add holiday details within calendar control

Posted by Bharat Bhushan Articles | ASP.NET Programming November 19, 2010
In this article, I will show you, how to add holiday details within control and apply some style for those dates.
Reader Level:

Introduction

In this article, I will show you, how to add holiday details within control and apply some style for those dates. The purpose of this article is add India holiday details within the calendar control and apply some style to those dates.

Implementation

First design simple html page with calendar control as like following.

HTML Code

<body>
 <form id="form1" runat="server">
 <div> <div> <p style="text-align: center"> <b>
 <asp:Label ID="Label1" runat="server" Font-Bold="True" Font-Names="Arial Black" Font-Size="Medium"
 ForeColor="#0066FF">Indian List of Holidays 2011</asp:Label>
<br /></b> </p> <asp:Calendar ID="Calendar1" runat="server" BackColor="#FFFFCC" BorderColor="#FFCC66"
 BorderWidth="1px" DayNameFormat="Shortest" Font-Names="Verdana" Font-Size="8pt"
 ForeColor="#663399" ShowGridLines="True" OnDayRender="Calendar1_DayRender" OnSelectionChanged="Calendar1_SelectionChanged"
 OnVisibleMonthChanged="Calendar1_VisibleMonthChanged">
 <SelectedDayStyle BackColor="#CCCCFF" Font-Bold="True" />
 <SelectorStyle BackColor="#FFCC66" />
 <TodayDayStyle BackColor="#FFCC66" ForeColor="White" />
 <OtherMonthDayStyle ForeColor="#CC9966" />
 <NextPrevStyle Font-Size="9pt" ForeColor="#FFFFCC" />
 <DayHeaderStyle BackColor="#FFCC66" Font-Bold="True" Height="1px" />
 <TitleStyle BackColor="#990000" Font-Bold="True" Font-Size="9pt" ForeColor="#FFFFCC" />
 </asp:Calendar> <br /> <b></b> <asp:Label ID="LabelAction" runat="server"></asp:Label>
<br /> </b> </div> </div>
 </form> </body> 

Then add server side code to mark the holidays in calendar object.

C# Code

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections;
public partial class calender : System.Web.UI.Page
{
    Hashtable HolidayList;
 protected void Page_Load(object sender, EventArgs e)
    {
        HolidayList = Getholiday();
        Calendar1.Caption = "Calender - Author: Espranza";
        Calendar1.FirstDayOfWeek = FirstDayOfWeek.Sunday;
        Calendar1.NextPrevFormat = NextPrevFormat.FullMonth;
        Calendar1.TitleFormat = TitleFormat.MonthYear;
        Calendar1.ShowGridLines = true;
        Calendar1.DayStyle.Height = new Unit(50);
        Calendar1.DayStyle.Width = new Unit(50);
        Calendar1.DayStyle.HorizontalAlign = HorizontalAlign.Center;
        Calendar1.DayStyle.VerticalAlign = VerticalAlign.Middle;
        Calendar1.OtherMonthDayStyle.BackColor = System.Drawing.Color.AliceBlue;
    }
 protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
    {
 if (HolidayList[e.Day.Date.ToShortDateString()] != null)
        {
            Literal  literal1 = new Literal();
            literal1.Text = "<br/>";
            e.Cell.Controls.Add(literal1);
            Label label1 = new Label();
            label1.Text = (string)HolidayList[e.Day.Date.ToShortDateString()];
            label1.Font.Size = new FontUnit(FontSize.Small);
            label1.Font.Bold = true;
            e.Cell.Controls.Add(label1);
        }
    }
 protected void Calendar1_SelectionChanged(object sender, EventArgs e)
    {
        LabelAction.Text = "Date changed to :" + Calendar1.SelectedDate.ToShortDateString();
    }
 protected void Calendar1_VisibleMonthChanged(object sender, MonthChangedEventArgs e)
    {
        LabelAction.Text = "Month changed to :" + e.NewDate.ToShortDateString();
    }
 private Hashtable Getholiday()
    {
        Hashtable holiday = new Hashtable();
        holiday["1/1/2011"] = "New Year";
        holiday["1/5/2011"] = "Guru Govind Singh Jayanti";
        holiday["1/8/2011"] = "Muharam (Al Hijra)";
        holiday["1/14/2011"] = "Pongal";
        holiday["1/26/2011"] = "Republic Day";
        holiday["2/23/2011"] = "Maha Shivaratri";
        holiday["3/10/2011"] = "Milad un Nabi (Birthday of the Prophet";
        holiday["3/21/2011"] = "Holi";
        holiday["3/21/2011"] = "Telugu New Year";
        holiday["4/3/2011"] = "Ram Navmi";
        holiday["4/7/2011"] = "Mahavir Jayanti";
        holiday["4/10/2011"] = "Good Friday";
        holiday["4/12/2011"] = "Easter";
        holiday["4/14/2011"] = "Tamil New Year and Dr Ambedkar Birth Day";
        holiday["5/1/2011,5/1/2011"] = "May Day";
        holiday["5/9/2011"] = "Buddha Jayanti and Buddha Purnima";
        holiday["6/24/2011"] = "Rath yatra";
        holiday["8/13/2011"] = "Krishna Jayanthi";
        holiday["8/14/2011"] = "Janmashtami";
        holiday["8/15/2011"] = "Independence Day";
        holiday["8/19/2011"] = "Parsi New Year";
        holiday["8/23/2011"] = "Vinayaka Chaturthi";
        holiday["9/2/2011"] = "Onam";
        holiday["9/5/2011"] = "Teachers Day";
        holiday["9/21/2011"] = "Ramzan";
        holiday["9/27/2011"] = "Ayutha Pooja";
        holiday["9/28/2011"] = "Vijaya Dasami (Dusherra)";
        holiday["10/2/2011"] = "Gandhi Jayanti";
        holiday["10/17/2011"] = "Diwali & Govardhan Puja";
        holiday["10/19/2011"] = "Bhaidooj";
        holiday["11/2/2011"] = "Guru Nanak Jayanti";
        holiday["11/14/2011"] = "Children's Day";
        holiday["11/28/2011"] = "Bakrid";
        holiday["12/25/2011"] = "Christmas Day";
        holiday["12/28/2011"] = "Muharram";
 return holiday;
    }
}

Login to add your contents and source code to this article
share this article :
post comment
 

It is Exactly that i need...thanks so much Bro

Posted by surender bhyan Apr 01, 2011

Thanx Harshit................................

Posted by Bharat Bhushan Nov 20, 2010

Nice one dude

Posted by Harshit Vyas Nov 19, 2010
Nevron Gauge for SharePoint
Become a Sponsor
PREMIUM SPONSORS
  • Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
    Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites - Click Here!
Team Foundation Server Hosting
Become a Sponsor