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 選擇二級卡類別之後,載入三級卡類別