• DropDownList自动生成年月日


     DropDownList自动生成年月日

     

     

     

    aspx页面上有三个dropdownlist控件, 

    dropdownlist1 表示年,dropdownlist2表示月,dropdownlist3表示天; 
    注意用将这三个dropdownlist控件的autopostback属性设为true。 

    用户能够方便地选择年月日,并且每月的日期会随着用户选择不同的年,月而发生相应的变化 

    代码直接复制过去即可使用


    前台代码

    <div>

            <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" 

                onselectedindexchanged="DropDownList1_SelectedIndexChanged">

            </asp:DropDownList>

            <asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" 

                onselectedindexchanged="DropDownList2_SelectedIndexChanged1">

            </asp:DropDownList>

            <asp:DropDownList ID="DropDownList3" runat="server">

            </asp:DropDownList>

    </div>

     

    后台代码 

    protected void Page_Load(object sender, EventArgs e)

            {

                DateTime tnow = DateTime.Now;//现在时间 

                ArrayList alyear = new ArrayList();

                int i;

                for (i = 2002; i <= 2010; i++)

                    alyear.Add(i);

                ArrayList almonth = new ArrayList();

                for (i = 1; i <= 12; i++)

                    almonth.Add(i);

                if (!this.IsPostBack)

                {

     

                    DropDownList1.DataSource = alyear;

                    DropDownList1.DataBind();//绑定年 

                    //选择当前年 

                    DropDownList1.SelectedValue = tnow.Year.ToString();

                    DropDownList2.DataSource = almonth;

                    DropDownList2.DataBind();//绑定月 

                    //选择当前月 

                    DropDownList2.SelectedValue = tnow.Month.ToString();

                    int year, month;

                    year = Int32.Parse(DropDownList1.SelectedValue);

                    month = Int32.Parse(DropDownList2.SelectedValue);

                    binddays(year, month);//绑定天 

                    //选择当前日期 

                    DropDownList3.SelectedValue = tnow.Day.ToString();

                }

            }

     

     

            //判断闰年 

            private bool checkleap(int year)

            {

                if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0))

                    return true;

                else return false;

            }

            //绑定每月的天数 

            private void binddays(int year, int month)

            {

                int i;

                ArrayList alday = new ArrayList();

     

                switch (month)

                {

                    case 1:

                    case 3:

                    case 5:

                    case 7:

                    case 8:

                    case 10:

                    case 12:

                        for (i = 1; i <= 31; i++)

                            alday.Add(i);

                        break;

                    case 2:

                        if (checkleap(year))

                        {

                            for (i = 1; i <= 29; i++)

                                alday.Add(i);

                        }

                        else

                        {

                            for (i = 1; i <= 28; i++)

                                alday.Add(i);

                        }

                        break;

                    case 4:

                    case 6:

                    case 9:

                    case 11:

                        for (i = 1; i <= 30; i++)

                            alday.Add(i);

                        break;

                }

                DropDownList3.DataSource= alday;

                DropDownList3.DataBind();

            }

     

            //选择年 

            protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

            {

                int year, month;

                year = Int32.Parse(DropDownList1.SelectedValue);

                month = Int32.Parse(DropDownList2.SelectedValue);

                binddays(year, month);

            }

     

            //选择月 

            protected void DropDownList2_SelectedIndexChanged1(object sender, EventArgs e)

            {

                int year, month;

                year = Int32.Parse(DropDownList1.SelectedValue);

                month = Int32.Parse(DropDownList2.SelectedValue);

                binddays(year, month);

            }

     comboBox控件自动生成年月日 

            //判断闰年

            private bool checkleap(int year)

            {

                if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0))

                    return true;

                else return false;

            }

            //绑定每月的天数

            private void binddays(int year, int month)

            {

                int i;

                ArrayList alday = new ArrayList();

                 switch (month)

                {

                    case 1:

                    case 3:

                    case 5:

                    case 7:

                    case 8:

                    case 10:

                    case 12:

                        for (i = 1; i <= 31; i++)

                            alday.Add(i);

                        break;

                    case 2:

                        if (checkleap(year))

                        {

                            for (i = 1; i <= 29; i++)

                                alday.Add(i);

                        }

                        else

                        {

                            for (i = 1; i <= 28; i++)

                                alday.Add(i);

                        }

                        break;

                    case 4:

                    case 6:

                    case 9:

                    case 11:

                        for (i = 1; i <= 30; i++)

                            alday.Add(i);

                        break;

                }

                this.comboBox3.DataSource = alday;

     

            }

            private void Form1_Load(object sender, EventArgs e)

            {          

                //绑定年

                ArrayList alyear = new ArrayList();

                int i;

                for (i = 1900; i <= 2099; i++)

                    alyear.Add(i);

                this.comboBox1.DataSource = alyear;          

                //绑定月

                ArrayList almonth = new ArrayList();

                for (i = 1; i <= 12; i++)

                    almonth.Add(i);

                this.comboBox2.DataSource = almonth;

     

                int year, month;

                year = Int32.Parse(this.comboBox1.SelectedValue.ToString());

                month = Int32.Parse(this.comboBox2.SelectedValue.ToString());

                binddays(year, month);//绑定天

             }

     

            private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

            {

                int year, month;

                year = Int32.Parse(this.comboBox1.SelectedValue.ToString());

                month = 1;

                binddays(year, month);

            }

     

            private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)

            {

                int year, month;

                year = Int32.Parse(this.comboBox1.SelectedValue.ToString());

                month = Int32.Parse(this.comboBox2.SelectedValue.ToString());

                binddays(year, month);

            }

     

  • 相关阅读:
    Visual Studio使用技巧
    排颜色问题——数组 leetcode lintcode
    【简洁】微信为何总令人感觉如此简洁、?(一)
    字符串通信协议解析函数
    我所改造的JSocket适用于任何DELPHI版本
    缓存和字符串相互转换
    TcxDBTreeList导出EXCEL
    TcxGrid导出EXCEL
    TdxAlertWindowManager右下角HINT显示控件
    好用的编辑框布局控件TdxLayoutControl
  • 原文地址:https://www.cnblogs.com/quanxie/p/3283133.html
Copyright © 2020-2023  润新知