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 选择二级卡类别之后,加载三级卡类别