省市县三级联动(第二种方法)
2013-03-11 20:33
323 查看
以下为省市县的数据表,如图所示,图中只是数据表的一部分,要完成省市县三级联动。首先在数据库中建立好下面的数据表:
![](http://img.my.csdn.net/uploads/201303/11/1363005180_4363.png)
![](http://img.my.csdn.net/uploads/201303/11/1363005191_2388.png)
![](http://img.my.csdn.net/uploads/201303/11/1363005135_4799.png)
在程序的前台加上三个下拉文本框,分别为省市县,如图所示:
![](http://img.my.csdn.net/uploads/201303/11/1363004821_7232.png)
namespace ThreeClass
{
public partial class Demo1 : System.Web.UI.Page
{
string connstr = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
DataBd();
}
}
private void DataBd()////这一部分是写的关于省份的部分
{
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT * FROM province";
DataSet dt = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
cmd.ExecuteNonQuery();
for (int i = 0; i < dt.Tables[0].Rows.Count; i++)
{
string name = dt.Tables[0].Rows[i]["province"].ToString();
string id = dt.Tables[0].Rows[i]["provinceID"].ToString();
ListItem list = new ListItem(name, id);
ddlprovince.Items.Add(list);
}
}
}
}
//////开始选择市
protected void ddlprovince_SelectedIndexChanged(object sender, EventArgs e)
{
ddlcity.Items.Clear();////每次加载前清空一下
int pid = Convert.ToInt32(ddlprovince.SelectedValue);////吧省份的下拉文本框中选中的值传给市
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT * FROM city WHERE
father=@father";
cmd.Parameters.AddWithValue("@father",pid);
DataSet dt = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
cmd.ExecuteNonQuery();
for (int i = 0; i < dt.Tables[0].Rows.Count; i++)
{
string name = dt.Tables[0].Rows[i]["city"].ToString();
string id = dt.Tables[0].Rows[i]["cityId"].ToString();
ListItem list = new ListItem(name, id);
ddlcity.Items.Add(list);
}
}
}
}
///////开始选择县
protected void ddlcity_SelectedIndexChanged(object sender, EventArgs e)
{
ddlarea.Items.Clear();
int pid = Convert.ToInt32(ddlcity.SelectedValue);
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT * FROM area WHERE
father=@area";
cmd.Parameters.AddWithValue("@area", pid);
DataSet dt = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
cmd.ExecuteNonQuery();
for (int i = 0; i < dt.Tables[0].Rows.Count; i++)
{
string name = dt.Tables[0].Rows[i]["area"].ToString();
ListItem list = new ListItem(name);
ddlarea.Items.Add(list);
}
}
}
}
}
}
程序运行结果如下:
![](http://img.my.csdn.net/uploads/201303/11/1363004826_3933.png)
还有一种简单的方法,但是我还没弄出来,弄到市,县老是不出,有待继续。
![](http://img.my.csdn.net/uploads/201303/11/1363005180_4363.png)
![](http://img.my.csdn.net/uploads/201303/11/1363005191_2388.png)
![](http://img.my.csdn.net/uploads/201303/11/1363005135_4799.png)
在程序的前台加上三个下拉文本框,分别为省市县,如图所示:
![](http://img.my.csdn.net/uploads/201303/11/1363004821_7232.png)
namespace ThreeClass
{
public partial class Demo1 : System.Web.UI.Page
{
string connstr = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
DataBd();
}
}
private void DataBd()////这一部分是写的关于省份的部分
{
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT * FROM province";
DataSet dt = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
cmd.ExecuteNonQuery();
for (int i = 0; i < dt.Tables[0].Rows.Count; i++)
{
string name = dt.Tables[0].Rows[i]["province"].ToString();
string id = dt.Tables[0].Rows[i]["provinceID"].ToString();
ListItem list = new ListItem(name, id);
ddlprovince.Items.Add(list);
}
}
}
}
//////开始选择市
protected void ddlprovince_SelectedIndexChanged(object sender, EventArgs e)
{
ddlcity.Items.Clear();////每次加载前清空一下
int pid = Convert.ToInt32(ddlprovince.SelectedValue);////吧省份的下拉文本框中选中的值传给市
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT * FROM city WHERE
father=@father";
cmd.Parameters.AddWithValue("@father",pid);
DataSet dt = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
cmd.ExecuteNonQuery();
for (int i = 0; i < dt.Tables[0].Rows.Count; i++)
{
string name = dt.Tables[0].Rows[i]["city"].ToString();
string id = dt.Tables[0].Rows[i]["cityId"].ToString();
ListItem list = new ListItem(name, id);
ddlcity.Items.Add(list);
}
}
}
}
///////开始选择县
protected void ddlcity_SelectedIndexChanged(object sender, EventArgs e)
{
ddlarea.Items.Clear();
int pid = Convert.ToInt32(ddlcity.SelectedValue);
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT * FROM area WHERE
father=@area";
cmd.Parameters.AddWithValue("@area", pid);
DataSet dt = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
cmd.ExecuteNonQuery();
for (int i = 0; i < dt.Tables[0].Rows.Count; i++)
{
string name = dt.Tables[0].Rows[i]["area"].ToString();
ListItem list = new ListItem(name);
ddlarea.Items.Add(list);
}
}
}
}
}
}
程序运行结果如下:
![](http://img.my.csdn.net/uploads/201303/11/1363004826_3933.png)
还有一种简单的方法,但是我还没弄出来,弄到市,县老是不出,有待继续。
相关文章推荐
- javascript解析xml实现省市县三级联动的方法
- 省市县三级联动(第三种的方法)
- javascript解析xml实现省市县三级联动的方法
- 在JavaScript文件中用ajax方法实现省市区的三级联动
- jquery读取xml文件实现省市县三级联动的方法
- jquery读取xml文件实现省市县三级联动的方法
- jQuery解析xml文件,使用get方法实现省市县三级联动下拉框
- 三级联动第二种方法 三级联动数据.js
- 三级联动第二种方法 三级联动.html
- PHP+Ajax三种方法实现省市县三级联动
- 省市县三级联动(第三种方法)
- 三级联动查询全国省市区(xml与数据库)
- 省市县三级联动
- easyui combobox下拉框省市县三级联动(从数据库获取数据)
- Ajax实现省市县三级联动
- jQuery实现省市县三级联动菜单
- Android 省市县 三级联动(android-wheel的使用)
- Ajax实现省市县三级联动
- js省市县三级联动
- jquery+struts2+json省市县三级联动