<asp:GridView ID="gvcalendar" AutoGenerateColumns="false" runat="server" >
<Columns>
<asp:TemplateField ItemStyle-Width="200px" ItemStyle-ForeColor="red" ItemStyle-Height="100px" ControlStyle-Height="100px" HeaderText="Sunday">
<ItemTemplate>
<%#Eval("Day1")%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<Columns>
<asp:TemplateField HeaderText="Monday" ItemStyle-Width="200px" ItemStyle-Height="100px">
<ItemTemplate>
<%#Eval("Day2")%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<Columns>
<asp:TemplateField HeaderText="Tuesday" ItemStyle-Width="200px" ItemStyle-Height="100px">
<ItemTemplate>
<%#Eval("Day3")%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<Columns>
<asp:TemplateField HeaderText="Wednesday" ItemStyle-Width="200px" ItemStyle-Height="100px">
<ItemTemplate>
<%#Eval("Day4")%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<Columns>
<asp:TemplateField HeaderText="Thursday" ItemStyle-Width="200px" ItemStyle-Height="100px">
<ItemTemplate>
<%#Eval("Day5")%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<Columns>
<asp:TemplateField HeaderText="Friday" ItemStyle-Width="200px" ItemStyle-Height="100px">
<ItemTemplate>
<%#Eval("Day6")%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<Columns>
<asp:TemplateField HeaderText="Saturday" ItemStyle-Width="200px" ItemStyle-Height="100px">
<ItemTemplate>
<%#Eval("Day7")%>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
In code behind
by this way you can create your custom event calender
you can bind the event data in rowdatabound event on a particualr date
DataTable dtCalendar = new DataTable("calendar");
string[] months = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Session["DateTime"] = DateTime.Now;
lblMonth.Text = DateTime.Now.ToString("MMMM"); ;
gvcalendar.DataSource = GetDetails(DateTime.Now);
gvcalendar.DataBind();
}
}
public DataTable GetDetails(DateTime dtDate)
{
dtCalendar.Columns.Add(new DataColumn("Sunday", typeof(string)));
dtCalendar.Columns.Add(new DataColumn("Monday", typeof(string)));
dtCalendar.Columns.Add(new DataColumn("Tuesday", typeof(string)));
dtCalendar.Columns.Add(new DataColumn("Wednesday", typeof(string)));
dtCalendar.Columns.Add(new DataColumn("Thursday", typeof(string)));
dtCalendar.Columns.Add(new DataColumn("Friday", typeof(string)));
dtCalendar.Columns.Add(new DataColumn("Saturday", typeof(string)));
dtCalendar.Columns.Add(new DataColumn("Day1", typeof(string)));
dtCalendar.Columns.Add(new DataColumn("Day2", typeof(string)));
dtCalendar.Columns.Add(new DataColumn("Day3", typeof(string)));
dtCalendar.Columns.Add(new DataColumn("Day4", typeof(string)));
dtCalendar.Columns.Add(new DataColumn("Day5", typeof(string)));
dtCalendar.Columns.Add(new DataColumn("Day6", typeof(string)));
dtCalendar.Columns.Add(new DataColumn("Day7", typeof(string)));
dtDate=GetFirstDayOfMonth(dtDate);
DataRow myDataRow=null;
int noOfdays = DateTime.DaysInMonth(dtDate.Year, dtDate.Month);
int dayCount = 0;
for (int index = 0; index < 6; index++)
{
myDataRow = dtCalendar.NewRow();
for (int i = 0; i < 7; i++)
{
if (dayCount < noOfdays)
{
switch (dtDate.DayOfWeek)
{
case DayOfWeek.Sunday:
myDataRow["Sunday"] = dtDate.Date.ToShortDateString();
myDataRow["Day1"] = dtDate.Date.Day;
break;
case DayOfWeek.Monday:
myDataRow["Monday"] =dtDate.Date.ToShortDateString();
myDataRow["Day2"] = dtDate.Date.Day;
i = 1;
break;
case DayOfWeek.Tuesday:
myDataRow["Tuesday"] = dtDate.Date.ToShortDateString();
myDataRow["Day3"] = dtDate.Date.Day;
i = 2;
break;
case DayOfWeek.Wednesday:
myDataRow["Wednesday"] = dtDate.Date.ToShortDateString();
myDataRow["Day4"] = dtDate.Date.Day;
i = 3;
break;
case DayOfWeek.Thursday:
myDataRow["Thursday"] = dtDate.Date.ToShortDateString();
myDataRow["Day5"] = dtDate.Date.Day;
i = 4;
break;
case DayOfWeek.Friday:
myDataRow["Friday"] = dtDate.Date.ToShortDateString();
myDataRow["Day6"] = dtDate.Date.Day;
i = 5;
break;
case DayOfWeek.Saturday:
myDataRow["Saturday"] = dtDate.Date.ToShortDateString();
myDataRow["Day7"] = dtDate.Date.Day;
i = 6;
break;
}
dayCount++;
dtDate = dtDate.AddDays(1);
}
}
dtCalendar.Rows.Add(myDataRow);
}
return dtCalendar;
}
private DateTime GetFirstDayOfMonth(DateTime dtDate)
{
DateTime dtFrom = dtDate;
dtFrom = dtFrom.AddDays(-(dtFrom.Day - 1));
return dtFrom;
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
DateTime dt = (DateTime)Session["DateTime"];
Session["DateTime"] = dt.AddMonths(-1);
lblMonth.Text = dt.AddMonths(-1).ToString("MMMM");
gvcalendar.DataSource = GetDetails(dt.AddMonths(-1));
gvcalendar.DataBind();
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
DateTime dt = (DateTime)Session["DateTime"];
Session["DateTime"] = dt.AddMonths(1);
lblMonth.Text = dt.AddMonths(1).ToString("MMMM");
gvcalendar.DataSource = GetDetails(dt.AddMonths(1));
gvcalendar.DataBind();
}