c#+Mysql 实现三级联动
2013-11-20 20:49
295 查看
注明:此文章是转载而来,只是稍稍改了一点。。。
1、实现语言,c#,mysql,其中要引入mysq.dll
需要建立三个表----对应关系
2、Web.cofig
<connectionStrings>
<add name="Conn" connectionString="Server=localhost;Database=test;User=root;Password=xqq;Port=3306;Charset=utf8" />
</connectionStrings>
3、demo.cx文件:
private string conn = WebConfigurationManager.ConnectionStrings["Conn"].ConnectionString.ToString();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//绑定第一个下拉框
Dd1DataBind();
//显示第一个下拉框对应的第二个下拉框的内容
Dd2DataBind();
//显示第二个下拉框对应的第三个下拉框的内容
Dd3DataBind();
}
}
//当下拉框改变时,显示相应的内容
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
Dd2DataBind();
Dd3DataBind();
}
//当下拉框改变时,显示相应的内容
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
Dd3DataBind();
}
//DropDownList1
public void Dd1DataBind()
{
string sqlStr = "Select TypeID,TypeName From a ";
FillDropList(sqlStr, DropDownList1);
}
//DropDownList2
public void Dd2DataBind()
{
int PreID = Convert.ToInt32(DropDownList1.SelectedValue);
string sqlStr1 = "Select ID,name From b Where TypeID=' " + PreID.ToString() + "'";
FillDropList(sqlStr1, DropDownList2);
}
//DropDownList3
public void Dd3DataBind()
{
int PreID = Convert.ToInt32(DropDownList2.SelectedValue);
string sqlStr2 = "Select IDcun,name From c Where ID=' " + PreID.ToString() + "'";
FillDropList(sqlStr2, DropDownList3);
}
//绑定方法
public void FillDropList(string SQLString, DropDownList drp)
{
MySqlConnection m_oMysqlConnection = new MySqlConnection(conn);
MySqlCommand cmd = new MySqlCommand(SQLString, m_oMysqlConnection);
MySqlDataAdapter sda = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds, "DropList");
drp.DataSource = ds.Tables["DropList"].DefaultView;
drp.DataTextField = ds.Tables["DropList"].Columns[1].ColumnName;
drp.DataValueField = ds.Tables["DropList"].Columns[0].ColumnName;
drp.DataBind();
}
4.demo.aspx
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div style="float: left" mce_style="float: left">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" Width="98px" AutoPostBack="true"
OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" OnTextChanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="true" Width="168px"
OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList3" runat="server" AutoPostBack="true" Width="168px">
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div style="float: left" mce_style="float: left">
</div>
1、实现语言,c#,mysql,其中要引入mysq.dll
需要建立三个表----对应关系
2、Web.cofig
<connectionStrings>
<add name="Conn" connectionString="Server=localhost;Database=test;User=root;Password=xqq;Port=3306;Charset=utf8" />
</connectionStrings>
3、demo.cx文件:
private string conn = WebConfigurationManager.ConnectionStrings["Conn"].ConnectionString.ToString();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//绑定第一个下拉框
Dd1DataBind();
//显示第一个下拉框对应的第二个下拉框的内容
Dd2DataBind();
//显示第二个下拉框对应的第三个下拉框的内容
Dd3DataBind();
}
}
//当下拉框改变时,显示相应的内容
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
Dd2DataBind();
Dd3DataBind();
}
//当下拉框改变时,显示相应的内容
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
{
Dd3DataBind();
}
//DropDownList1
public void Dd1DataBind()
{
string sqlStr = "Select TypeID,TypeName From a ";
FillDropList(sqlStr, DropDownList1);
}
//DropDownList2
public void Dd2DataBind()
{
int PreID = Convert.ToInt32(DropDownList1.SelectedValue);
string sqlStr1 = "Select ID,name From b Where TypeID=' " + PreID.ToString() + "'";
FillDropList(sqlStr1, DropDownList2);
}
//DropDownList3
public void Dd3DataBind()
{
int PreID = Convert.ToInt32(DropDownList2.SelectedValue);
string sqlStr2 = "Select IDcun,name From c Where ID=' " + PreID.ToString() + "'";
FillDropList(sqlStr2, DropDownList3);
}
//绑定方法
public void FillDropList(string SQLString, DropDownList drp)
{
MySqlConnection m_oMysqlConnection = new MySqlConnection(conn);
MySqlCommand cmd = new MySqlCommand(SQLString, m_oMysqlConnection);
MySqlDataAdapter sda = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
sda.Fill(ds, "DropList");
drp.DataSource = ds.Tables["DropList"].DefaultView;
drp.DataTextField = ds.Tables["DropList"].Columns[1].ColumnName;
drp.DataValueField = ds.Tables["DropList"].Columns[0].ColumnName;
drp.DataBind();
}
4.demo.aspx
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div style="float: left" mce_style="float: left">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" Width="98px" AutoPostBack="true"
OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" OnTextChanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="true" Width="168px"
OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList3" runat="server" AutoPostBack="true" Width="168px">
</asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div style="float: left" mce_style="float: left">
</div>
相关文章推荐
- C#中comboBox实现三级联动
- 使用AJAX+php+mysql实现省市县三级联动
- C# WPF DataGrid控件实现三级联动
- 使用AJAX+php+mysql实现省市县三级联动
- PHP+Mysql+Ajax+JS实现省市区三级联动
- jQuery easyUI tree +struts2+hibernate +mysql 实现 三级联动的案例
- php+js+ajax+mysql实现省市三级联动
- 使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
- 用php+mysql+json+js+ajax实现省市县三级联动
- C# WPF DataGrid控件实现三级联动
- PHP+Ajax+Mysql联合实现省市区三级联动
- asp.net(c#)用Ajax调用web 服务实现省市县三级联动
- PHP+Mysql+Ajax+JS实现省市区三级联动
- C# 实现 省市区三级联动(表中包含经纬度取自淘宝地址管理)
- jQuery+php+MySQL一张表实现三级联动菜单
- 11级_Java_曹建波 04.07 jQuery easyUI tree +struts2+hibernate +mysql 实现 三级联动的案例
- 【MySQL】如何使用C#+MySQL实现一条MySQL语句进行多表查询
- jQuery+jsp实现省市县三级联动效果(附源码)
- 实现省市区三级联动
- 实现三级菜单联动综合代码