code for date picker combobox control in asp.net:

  • Home
  • Blog
  • code for date picker combobox control in asp.net:

ASP.NET provides calendar control to select datebut some time it not feasible due to the size ofit. It takes more spaces. So we are required

to create a new web control which is used less

space and also provides date selection mechanismhere are the code for that control in C#HTML CODE:================================================ <asp:dropdownlist id=”cmbDay” AutoPostBack=”True”

runat=”server”></asp:dropdownlist>

<asp:dropdownlist id=”cmbMonth” AutoPostBack=”True”

runat=”server”></asp:dropdownlist>

<asp:dropdownlist id=”cmbYear” AutoPostBack=”True”

runat=”server”></asp:dropdownlist>

Server Side Code in C#:==================================================== namespace Jalpesh.Control{using System;using System.Data;using System.Drawing;using System.Web;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;

using Microsoft.VisualBasic;

public class DatePicker : System.Web.UI.UserControl

{

public System.Web.UI.WebControls.DropDownList cmbDay;

public System.Web.UI.WebControls.DropDownList cmbMonth;
public System.Web.UI.WebControls.DropDownList cmbYear;
private static string _SelectedDate;
public string _SetDate;
public static string SelectedDate{get{

return _SelectedDate;

}set{

_SelectedDate=value;

}}

public string SetDate

{get{

return _SetDate;

}set{cmbYear.Items.FindByValue(cmbYear.SelectedValue).Selected=false;cmbYear.Items.FindByValue(System.Convert.ToDateTime(value).Year.ToString()).Selected=true;cmbMonth.Items.FindByValue(cmbMonth.SelectedValue).Selected=false;cmbMonth.Items.FindByValue(System.Convert.ToDateTime(value).

Month.ToString() ).Selected=true;

cmbDay.Items.FindByValue(cmbDay.SelectedValue).Selected=false;cmbDay.Items.FindByValue(System.Convert.ToDateTime(value).Day.

ToString() ).Selected=true;

SelectedDate= cmbMonth.SelectedValue.ToString() + “/” +cmbDay.SelectedValue.ToString() + “/” +cmbYear.SelectedValue.ToString();}}

private void Page_Load(object sender, System.EventArgs e)

{

if (!Page.IsPostBack)

{

FillYear();

FillMonth();FillDay(int.Parse(cmbMonth.SelectedValue),int.Parse(cmbYear.SelectedValue));

SelectedDate= cmbMonth.SelectedValue.ToString() + “/”

+cmbDay.SelectedValue.ToString() + “/” + cmbYear.SelectedValue.ToString();}}

public void FillDay(int Month,int Year)

{cmbDay.Items.Clear();int a;a=Year%4;int count;count=0;switch(Month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:count=31;break;case 4:case 6:case 9:case 11:count=30;break;case 2:if(a==0){count=29;}else{count=28;}break;}

for (int i=1;iListItem

lstItem=new ListItem(i.ToString(),i.ToString()); if (i==(int.Parse(System.DateTime.Today.Day.ToString() ))) { lstItem.Selected=true; } cmbDay.Items.Add(lstItem); } } public void FillYear() { int i; cmbYear.Items.Clear(); for (i=1900;iListItem lstItem=new ListItem(i.ToString(),i.ToString()); if (i==(int.Parse(System.DateTime.Today.Year.ToString() ))) { lstItem.Selected=true; } cmbYear.Items.Add(lstItem); lstItem=null; } } public void FillMonth() { int i; cmbMonth.Items.Clear(); for(i=1;iListItem lstItem=new ListItem(GetMonthName(i,false),i.ToString()); if (i==(int.Parse(System.DateTime.Today.Month.ToString() ))) { lstItem.Selected=true; } cmbMonth.Items.Add(lstItem); lstItem=null; } } static string GetMonthName(int monthNum, bool abbreviate) { if(monthNum 12)
throw new ArgumentOutOfRangeException(“monthNum”);
DateTime date = new DateTime(1,monthNum,1);if(abbreviate)

return date.ToString(“MMM”);

else

return date.ToString(“MMMM”);

}#region Web Form Designer generated code

override protected void OnInit(EventArgs e)

{//

// CODEGEN: This call is required by the ASP.NET Web Form Designer.

//

InitializeComponent();

base.OnInit(e);}

private void InitializeComponent()

{

cmbDay.SelectedIndexChanged += new System.EventHandler(this.cmbDay_SelectedIndexChanged);

cmbMonth.SelectedIndexChanged += new System.EventHandler(this.cmbMonth_SelectedIndexChanged);
cmbYear.SelectedIndexChanged += new System.EventHandler(this.cmbYear_SelectedIndexChanged);this.Load += new System.EventHandler(this.Page_Load);}

#endregion

private void cmbYear_SelectedIndexChanged(object sender, System.EventArgs e)

{FillDay(int.Parse(cmbMonth.SelectedValue),int.Parse(cmbYear.SelectedValue));

SelectedDate= cmbMonth.SelectedValue.ToString() + “/” +cmbDay.SelectedValue.ToString() + “/” + cmbYear.SelectedValue.ToString();

}

private void cmbMonth_SelectedIndexChanged(object sender, System.EventArgs e)

{FillDay(int.Parse(cmbMonth.SelectedValue),int.Parse(cmbYear.SelectedValue));

SelectedDate= cmbMonth.SelectedValue.ToString() + “/” +cmbDay.SelectedValue.ToString() + “/” + cmbYear.SelectedValue.ToString();

}

private void cmbDay_SelectedIndexChanged(object sender, System.EventArgs e)

{

SelectedDate= cmbMonth.SelectedValue.ToString() + “/” +cmbDay.SelectedValue.ToString() + “/” + cmbYear.SelectedValue.ToString();

}}

}