ASP页面中的三级联动,加载数据


ASP页面上:

卡类别:<asp:DropDownList ID="DropDownList_cardType1" runat="server"  
                             AutoPostBack="True"  
                             onselectedindexchanged="DropDownList_cardType1_SelectedIndexChanged" 
                             DataTextField="TypeName" DataValueField="TypeNum"></asp:DropDownList>
                         <asp:DropDownList ID="DropDownList_cardType2" runat="server" 
                             AutoPostBack="True"  
                             onselectedindexchanged="DropDownList_cardType2_SelectedIndexChanged" 
                             DataTextField="TypeName" DataValueField="TypeNum"></asp:DropDownList>
                         <asp:DropDownList ID="DropDownList_cardType3" runat="server" 
                             DataTextField="TypeName" DataValueField="TypeNum"></asp:DropDownList>

第一个和第二个下拉框要设置AutoPostBack = "true"


C#后台代码:

#region _____________加载数据_____卡类型____________
            //卡类型
            string typeSql = "select distinct TypeNum,TypeName from tbl_CardTypeNew where TypeLevel = '1'";
            DataSet ds2 = DBFhkHelper.queryDB(typeSql);

            if (!IsPostBack)
            {
                if (ds2.Tables[0].Rows.Count > 0)
                {
                    DataTable table1 = new DataTable();
                    table1.Columns.Add("TypeNum");
                    table1.Columns.Add("TypeName");

                    DataRow drNew = table1.NewRow();
                    drNew["TypeName"] = "-全部-";
                    drNew["TypeNum"] = "-全部-";
                    table1.Rows.Add(drNew);
                    table1.Merge(ds2.Tables[0]);

                    DropDownList_cardType1.DataSource = table1;
                    DropDownList_cardType1.DataBind();
                    DropDownList_cardType1.SelectedIndex = 0;

                }

                //第二个类型
                DataTable table2 = new DataTable();
                table2.Columns.Add("TypeNum");
                table2.Columns.Add("TypeName");

                DataRow drNew2 = table2.NewRow();
                drNew2["TypeName"] = "-全部-";
                drNew2["TypeNum"] = "-全部-";
                table2.Rows.Add(drNew2);
                DropDownList_cardType2.DataSource = table2;
                DropDownList_cardType2.DataBind();
                DropDownList_cardType2.SelectedIndex = 0;
                //第三个类型
                DropDownList_cardType3.DataSource = table2;
                DropDownList_cardType3.DataBind();
                DropDownList_cardType3.SelectedIndex = 0;

            }

            #endregion _____________加载数据_________________

第一个下拉框选择事件,要加载第二个下拉框的数据。

c#代码如下:

  #region 选择一级卡类别之后,加载二级卡类别
        protected void DropDownList_cardType1_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownList_cardType2.DataSource = null;
            DropDownList_cardType3.DataSource = null;
            //三级卡类别
            DataTable table2 = new DataTable();
            table2.Columns.Add("TypeNum");
            table2.Columns.Add("TypeName");

            DataRow drNew2 = table2.NewRow();
            drNew2["TypeName"] = "-全部-";
            drNew2["TypeNum"] = "-全部-";
            table2.Rows.Add(drNew2);
            DropDownList_cardType3.DataSource = table2;
            DropDownList_cardType3.DataBind();
            DropDownList_cardType3.SelectedIndex = 0;

            string type1 = DropDownList_cardType1.SelectedValue.ToString();//01-类型名称
            
            if (type1 != "-全部-")
            {
                  //根据一级卡类别的编号查询二级卡类别
                string querySql = "select TypeNum,TypeName from tbl_CardTypeNew where UpLNum = '" + type1 + "' and TypeLevel='2' ";
                  DataSet ds2 = DBFhkHelper.queryDB(querySql);
                  if (ds2.Tables[0].Rows.Count > 0)
                  {
                      DataTable table1 = new DataTable();
                      table1.Columns.Add("TypeNum");
                      table1.Columns.Add("TypeName");

                      DataRow drNew = table1.NewRow();
                      drNew["TypeName"] = "-全部-";
                      drNew["TypeNum"] = "-全部-";
                      table1.Rows.Add(drNew);
                      table1.Merge(ds2.Tables[0]);

                      DropDownList_cardType2.DataSource = table1;
                      DropDownList_cardType2.DataBind();
                      DropDownList_cardType2.SelectedIndex = 0;
                  }
                  else
                  {
                      //二级卡类别
                      DataTable table3 = new DataTable();
                      table3.Columns.Add("TypeNum");
                      table3.Columns.Add("TypeName");

                      DataRow drNew3 = table3.NewRow();
                      drNew3["TypeName"] = "-全部-";
                      drNew3["TypeNum"] = "-全部-";
                      table3.Rows.Add(drNew3);
                      DropDownList_cardType2.DataSource = table3;
                      DropDownList_cardType2.DataBind();
                      DropDownList_cardType2.SelectedIndex = 0;
                  }
            }
            else
            {
                //二级卡类别
                DataTable table3 = new DataTable();
                table3.Columns.Add("TypeNum");
                table3.Columns.Add("TypeName");

                DataRow drNew3 = table3.NewRow();
                drNew3["TypeName"] = "-全部-";
                drNew3["TypeNum"] = "-全部-";
                table3.Rows.Add(drNew3);
                DropDownList_cardType2.DataSource = table3;
                DropDownList_cardType2.DataBind();
                DropDownList_cardType2.SelectedIndex = 0;
            }
        }
        #endregion 选择一级卡类别之后,加载二级卡类别

第二个下拉框选择事件,加载第三个下拉框的数据:

 #region 选择二级卡类别之后,加载三级卡类别
        protected void DropDownList_cardType2_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownList_cardType3.DataSource = null;
            string type2 = DropDownList_cardType2.SelectedValue.ToString();//0102-类型名称

            if (type2 != "-全部-")
            {
                //根据二级卡类别的编号查询三级卡类别
                string querySql = "select TypeNum,TypeName from tbl_CardTypeNew where UpLNum = '" + type2 + "' and TypeLevel='3' ";
                DataSet ds2 = DBFhkHelper.queryDB(querySql);
                if (ds2.Tables[0].Rows.Count > 0)
                {
                    DataTable table1 = new DataTable();
                    table1.Columns.Add("TypeNum");
                    table1.Columns.Add("TypeName");

                    DataRow drNew = table1.NewRow();
                    drNew["TypeName"] = "-全部-";
                    drNew["TypeNum"] = "-全部-";
                    table1.Rows.Add(drNew);
                    table1.Merge(ds2.Tables[0]);

                    DropDownList_cardType3.DataSource = table1;
                    DropDownList_cardType3.DataBind();
                    DropDownList_cardType3.SelectedIndex = 0;
                }
                else
                {
                    //三级卡类别
                    DataTable table3 = new DataTable();
                    table3.Columns.Add("TypeNum");
                    table3.Columns.Add("TypeName");

                    DataRow drNew3 = table3.NewRow();
                    drNew3["TypeName"] = "-全部-";
                    drNew3["TypeNum"] = "-全部-";
                    table3.Rows.Add(drNew3);
                    DropDownList_cardType3.DataSource = table3;
                    DropDownList_cardType3.DataBind();
                    DropDownList_cardType3.SelectedIndex = 0;
                }
            }
            else
            {
                //三级卡类别
                DataTable table3 = new DataTable();
                table3.Columns.Add("TypeNum");
                table3.Columns.Add("TypeName");

                DataRow drNew3 = table3.NewRow();
                drNew3["TypeName"] = "-全部-";
                drNew3["TypeNum"] = "-全部-";
                table3.Rows.Add(drNew3);
                DropDownList_cardType3.DataSource = table3;
                DropDownList_cardType3.DataBind();
                DropDownList_cardType3.SelectedIndex = 0;
            }
        }
        #endregion 选择二级卡类别之后,加载三级卡类别


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值