省市县三级联动(二)
2013-03-14 19:39
417 查看
这种方法是从一张省市表中获得相应的数据
1.首先在数据库创建一张 T_Arear表,并插入相应的内容
CREATE TABLE T_Arear
(
Id INT IDENTITY PRIMARY KEY,
A_Id VARCHAR(8),
A_Name VARCHAR(16),
A_ParentId VARCHAR(8)
)
--添加省级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('P001','河北省','0');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('P002','河南省','0');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('P003','山东省','0');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('P004','山西省','0');
--添加河北省市级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C001','石家庄','P001');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C002','保定','P001');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C003','邯郸','P001');
--添加河南省市级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C004','郑州','P002');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C005','洛阳','P002');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C006','商丘','P002');
--添加山西省市级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C007','太原','P003');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C008','运城','P003');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C009','大同','P003');
--添加山东省市级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C010','济南','P004');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C011','青岛','P004');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C012','淄博','P004');
--添加河北省石家庄区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A001','长安区','C001');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A002','桥东区','C001');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A003','桥西区','C001');
--添加河北省保定区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A004','满城','C002');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A005','徐水','C002');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A006','阜平','C002');
-添加河北省邯郸区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A007','临漳','C003');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A008','成安','C003');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A009','大名','C003');
--添加河南省郑州区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A009','金水','C004');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A010','惠济','C004');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A012','经开区','C004');
--添加河南省洛阳区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A013','新安','C005');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A014','嵩县','C005');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A015','宜阳','C005');
-添加河南省商丘区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A016','梁园','C006');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A017','永城','C006');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A018','宁陵','C006');
--添加山西省太原区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A019','小店','C007');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A020','迎泽','C007');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A021','阳曲','C007');
--添加山西省运城区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A022','盐湖','C008');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A023','万荣','C008');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A024','闻喜','C008');
--添加山西省大同市区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A025','新荣','C009');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A026','阳高','C009');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A027','天镇','C009');
--添加山东省济南区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A028','历下','C010');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A029','天桥','C010');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A030','长清','C010');
--添加山东省青岛区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A031','崂山','C011');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A032','黄岛','C011');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A033','胶州','C011');
--添加山东淄博区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A034','张店','C012');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A035','博山','C012');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A036','桓台','C012');
二、
1、---这是省市选择器的前台界面
2、这是后台代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
namespace 新闻管理系统
{
public partial class 省市选择器yhb : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetProvince();
}
}
private DataTable LoadData(string id)
{
string constr = "data source=LOVE-PC\\SQLEXPRESSPC;initial catalog=News;user id=sa;password=admin";
using (SqlConnection conn = new SqlConnection(constr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT A_Id,A_Name FROM T_Arear WHERE A_ParentId=@parentid ORDER BY A_Id";
cmd.Parameters.AddWithValue("@parentid", id);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
cmd.Dispose();
conn.Dispose();
return dt;
}
}
}
private void GetProvince()
{
DataTable dt = LoadData("0");
this.ddlProvince.DataSource = dt;
//指定下拉列表括要显示的字段的值
this.ddlProvince.DataTextField = "A_Name";
//指定下拉列表括的value属性要绑定的字段的值
this.ddlProvince.DataValueField = "A_Id";
this.ddlProvince.DataBind();
//插入默认选中项
ListItem item = new ListItem("--------请选择--------","0");
this.ddlProvince.Items.Insert(0,item);
}
protected void ddlProvince_SelectedIndexChanged(object sender, EventArgs e)
{
string id = this.ddlProvince.SelectedItem.Value;
if(id!="0")
{
DataTable dt = LoadData(id);
this.ddlCity.DataSource = dt;
this.ddlCity.DataTextField = "A_Name";
this.ddlCity.DataValueField = "A_Id";
this.ddlCity.DataBind();
string selectid = this.ddlCity.SelectedItem.Value;
DataTable dt1 = LoadData(selectid);
this.ddlArear.DataSource = dt1;
this.ddlArear.DataTextField = "A_Name";
this.ddlArear.DataValueField = "A_Id";
this.ddlArear.DataBind();
}
else
{
ddlCity.Items.Clear();
ddlArear.Items.Clear();
}
}
protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e)
{
string cityid = this.ddlCity.SelectedItem.Value;
DataTable dt = LoadData(cityid); ;
this.ddlArear.DataSource = dt;
this.ddlArear.DataTextField = "A_Name";
this.ddlArear.DataValueField = "A_Id";
this.ddlArear.DataBind();
}
}
}
1.首先在数据库创建一张 T_Arear表,并插入相应的内容
CREATE TABLE T_Arear
(
Id INT IDENTITY PRIMARY KEY,
A_Id VARCHAR(8),
A_Name VARCHAR(16),
A_ParentId VARCHAR(8)
)
--添加省级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('P001','河北省','0');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('P002','河南省','0');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('P003','山东省','0');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('P004','山西省','0');
--添加河北省市级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C001','石家庄','P001');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C002','保定','P001');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C003','邯郸','P001');
--添加河南省市级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C004','郑州','P002');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C005','洛阳','P002');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C006','商丘','P002');
--添加山西省市级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C007','太原','P003');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C008','运城','P003');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C009','大同','P003');
--添加山东省市级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C010','济南','P004');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C011','青岛','P004');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('C012','淄博','P004');
--添加河北省石家庄区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A001','长安区','C001');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A002','桥东区','C001');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A003','桥西区','C001');
--添加河北省保定区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A004','满城','C002');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A005','徐水','C002');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A006','阜平','C002');
-添加河北省邯郸区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A007','临漳','C003');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A008','成安','C003');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A009','大名','C003');
--添加河南省郑州区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A009','金水','C004');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A010','惠济','C004');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A012','经开区','C004');
--添加河南省洛阳区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A013','新安','C005');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A014','嵩县','C005');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A015','宜阳','C005');
-添加河南省商丘区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A016','梁园','C006');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A017','永城','C006');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A018','宁陵','C006');
--添加山西省太原区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A019','小店','C007');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A020','迎泽','C007');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A021','阳曲','C007');
--添加山西省运城区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A022','盐湖','C008');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A023','万荣','C008');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A024','闻喜','C008');
--添加山西省大同市区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A025','新荣','C009');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A026','阳高','C009');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A027','天镇','C009');
--添加山东省济南区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A028','历下','C010');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A029','天桥','C010');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A030','长清','C010');
--添加山东省青岛区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A031','崂山','C011');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A032','黄岛','C011');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A033','胶州','C011');
--添加山东淄博区县级数据
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A034','张店','C012');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A035','博山','C012');
INSERT INTO T_Arear(A_Id,A_Name,A_ParentId) VALUES('A036','桓台','C012');
二、
1、---这是省市选择器的前台界面
2、这是后台代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
namespace 新闻管理系统
{
public partial class 省市选择器yhb : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetProvince();
}
}
private DataTable LoadData(string id)
{
string constr = "data source=LOVE-PC\\SQLEXPRESSPC;initial catalog=News;user id=sa;password=admin";
using (SqlConnection conn = new SqlConnection(constr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT A_Id,A_Name FROM T_Arear WHERE A_ParentId=@parentid ORDER BY A_Id";
cmd.Parameters.AddWithValue("@parentid", id);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
cmd.Dispose();
conn.Dispose();
return dt;
}
}
}
private void GetProvince()
{
DataTable dt = LoadData("0");
this.ddlProvince.DataSource = dt;
//指定下拉列表括要显示的字段的值
this.ddlProvince.DataTextField = "A_Name";
//指定下拉列表括的value属性要绑定的字段的值
this.ddlProvince.DataValueField = "A_Id";
this.ddlProvince.DataBind();
//插入默认选中项
ListItem item = new ListItem("--------请选择--------","0");
this.ddlProvince.Items.Insert(0,item);
}
protected void ddlProvince_SelectedIndexChanged(object sender, EventArgs e)
{
string id = this.ddlProvince.SelectedItem.Value;
if(id!="0")
{
DataTable dt = LoadData(id);
this.ddlCity.DataSource = dt;
this.ddlCity.DataTextField = "A_Name";
this.ddlCity.DataValueField = "A_Id";
this.ddlCity.DataBind();
string selectid = this.ddlCity.SelectedItem.Value;
DataTable dt1 = LoadData(selectid);
this.ddlArear.DataSource = dt1;
this.ddlArear.DataTextField = "A_Name";
this.ddlArear.DataValueField = "A_Id";
this.ddlArear.DataBind();
}
else
{
ddlCity.Items.Clear();
ddlArear.Items.Clear();
}
}
protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e)
{
string cityid = this.ddlCity.SelectedItem.Value;
DataTable dt = LoadData(cityid); ;
this.ddlArear.DataSource = dt;
this.ddlArear.DataTextField = "A_Name";
this.ddlArear.DataValueField = "A_Id";
this.ddlArear.DataBind();
}
}
}
相关文章推荐
- android开发——用GridView实现省市县三级联动
- 省市县,三级联动。
- 省市县三级联动
- 一秒集成省市区三级联动选择器
- 省市县三级联动用到的表
- Ext省市县三级联动实现
- JComboBox数据库连接 “省市县”三级联动显示
- 第八篇 一个用JS写的省市县三级联动
- 省市县三级联动js代码
- jquery实现省市县三级联动的jQuery插件
- 省市县三级联动
- 无刷新省市三级联动自定义组件代码
- js省市县三级联动下拉列表的示例
- jqeury制作省市县三级联动控件
- Android 省市县 三级联动(android-wheel的使用)
- 自定义Dialog实现从下往上出现(内容省市县三级联动)
- [导入]最新县及县以上行政区划(省市县/地区)三级联动(国家标准GB T 2260-2007)
- 省市县三级联动 sql语句
- 省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示
- js省市级联 三级联动菜单