用代码实现控件DropDownList的三级联动
2011-11-09 21:37
375 查看
1、编程实现省、市、县三级联动效果
具体要求:
l 在SQL Server数据库中创建一名为testdb的数据库,并创建如下三张表,并自行添加部分测试数据:
Province表,用于存放省份信息
City表,用于存放城市信息
County表,用来存放县市信息
1 新建一个网站项目,在Default.aspx页面中添加3个DropDownList控件,分别命名为ddlProvince、ddlCity、ddlCountry,分别表示省份、城市和县下拉列表框。界面设计Q1.ASPX页面所示。
2 当页面一开始出现时,首先将所有的省份信息加载到ddlProvince下拉列表框中,当用户选择某一省份时,将该省所有的城市信息显示在ddlCity下拉列表框中,当用户选择一个城市时,将该城市下所有的县显示在ddlCountry下拉框中。
主要代码:
添加命名空间:using System.Data;
using System.Data.SqlClient;
数据库连接:public static string strcon = @"data source=MSY;database=testdb;Integrated Security=TRUE";
protectedvoid Page_Load(objectsender, EventArgs e)
{
if(!IsPostBack)
{
SqlConnection conn = new SqlConnection(strcon);
SqlDataAdaptersda = new SqlDataAdapter("select * from Province", conn);
DataSetds = new DataSet();
sda.Fill(ds);
ddlProvince.DataSource = ds.Tables[0];
ddlProvince.DataTextField = "ProvinceName";
ddlProvince.DataValueField = "ProvinceId";
ddlProvince.DataBind();
}
protected void ddlProvince_SelectedIndexChanged(object sender, EventArgs e)省份:/DropDownList的ddlProvince事件,同时注意属性autopostback值为True
{
string Id = ddlProvince.SelectedValue.ToString();
SqlConnection conn = new SqlConnection(strcon);
conn.Open();
string sq1 = "select * from City where ProvinceId='{0}'";
sq1 = string.Format(sq1, Id);
SqlDataAdapter da = new SqlDataAdapter(sq1, conn);
DataSet ds = new DataSet();
da.Fill(ds);
ddlCity.DataSource = ds.Tables[0];
ddlCity.DataTextField = "CityName";
ddlCity.DataValueField = "CityId";
ddlCity.DataBind();
}
protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e)//城市
/DropDownList的ddlCity事件,同时注意属性autopostback值为True
{
string Id = ddlCity.SelectedValue.ToString();
SqlConnection conn = new SqlConnection(strcon);
conn.Open();
string sq1 = "select * from Country where CityId='{0}'";
sq1 = string.Format(sq1, Id);
SqlDataAdapter da = new SqlDataAdapter(sq1, conn);
DataSet ds = new DataSet();
da.Fill(ds);
ddlCountry.DataSource = ds.Tables[0];
ddlCountry.DataTextField = "CountyrName";
ddlCountry.DataValueField = "CountyrName";
ddlCountry.DataBind();
}
结果如下图所示:
具体要求:
l 在SQL Server数据库中创建一名为testdb的数据库,并创建如下三张表,并自行添加部分测试数据:
Province表,用于存放省份信息
字段名称 | 类型 | 长度 | 是否为主键 | 外键 | 说明 |
provinceId | varchar | 2 | 是 | 省份代码 | |
provinceName | varchar | 15 | 省份名称 |
字段名称 | 类型 | 长度 | 是否为主键 | 外键 | 说明 |
cityId | int | 4 | 是 | 城市代码 | |
cityName | varchar | 15 | 城市名称 | ||
provinceId | varchar | 2 | 是 | 所在省份ID |
字段名称 | 类型 | 长度 | 是否为主键 | 外键 | 说明 |
countryId | int | 4 | 是 | 县代码 | |
countryName | varchar | 20 | 县名称 | ||
cityId | varchar | 2 | 是 | 所在城市ID |
2 当页面一开始出现时,首先将所有的省份信息加载到ddlProvince下拉列表框中,当用户选择某一省份时,将该省所有的城市信息显示在ddlCity下拉列表框中,当用户选择一个城市时,将该城市下所有的县显示在ddlCountry下拉框中。
主要代码:
添加命名空间:using System.Data;
using System.Data.SqlClient;
数据库连接:public static string strcon = @"data source=MSY;database=testdb;Integrated Security=TRUE";
protectedvoid Page_Load(objectsender, EventArgs e)
{
if(!IsPostBack)
{
SqlConnection conn = new SqlConnection(strcon);
SqlDataAdaptersda = new SqlDataAdapter("select * from Province", conn);
DataSetds = new DataSet();
sda.Fill(ds);
ddlProvince.DataSource = ds.Tables[0];
ddlProvince.DataTextField = "ProvinceName";
ddlProvince.DataValueField = "ProvinceId";
ddlProvince.DataBind();
}
protected void ddlProvince_SelectedIndexChanged(object sender, EventArgs e)省份:/DropDownList的ddlProvince事件,同时注意属性autopostback值为True
{
string Id = ddlProvince.SelectedValue.ToString();
SqlConnection conn = new SqlConnection(strcon);
conn.Open();
string sq1 = "select * from City where ProvinceId='{0}'";
sq1 = string.Format(sq1, Id);
SqlDataAdapter da = new SqlDataAdapter(sq1, conn);
DataSet ds = new DataSet();
da.Fill(ds);
ddlCity.DataSource = ds.Tables[0];
ddlCity.DataTextField = "CityName";
ddlCity.DataValueField = "CityId";
ddlCity.DataBind();
}
protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e)//城市
/DropDownList的ddlCity事件,同时注意属性autopostback值为True
{
string Id = ddlCity.SelectedValue.ToString();
SqlConnection conn = new SqlConnection(strcon);
conn.Open();
string sq1 = "select * from Country where CityId='{0}'";
sq1 = string.Format(sq1, Id);
SqlDataAdapter da = new SqlDataAdapter(sq1, conn);
DataSet ds = new DataSet();
da.Fill(ds);
ddlCountry.DataSource = ds.Tables[0];
ddlCountry.DataTextField = "CountyrName";
ddlCountry.DataValueField = "CountyrName";
ddlCountry.DataBind();
}
结果如下图所示:
相关文章推荐
- 用DropDownList控件绑定XML数据实现省市区三级联动
- 用DropDownList控件绑定XML数据实现省市区三级联动
- DropDownList控件实现三级联动
- 用DropDownList控件绑定XML数据实现省市区三级联动
- asp.net DropDownList 三级联动下拉菜单实现代码
- asp.net DropDownList 三级联动下拉菜单实现代码
- 如何实现在DataGrid中实现DropDownList控件的联动
- asp.net实现无刷新DropDownList联动控件
- 原生javascript AJAX 三级联动的实现代码
- JavaScript实现DropDownList(Select)三级联动无刷新
- 省市县三级联动实现代码
- android-wheel控件实现三级联动效果
- 急 急 net实现dropdownlist三级联动
- KendoUi中KendoDropDownList控件的使用——三级级联模块的实现
- ajax三级联动实现代码
- Java框架SSH结合Easyui控件实现省市县三级联动示例解析
- js实现一个省市区三级联动选择框代码分享
- asp.net实现无刷新DropDownList联动控件
- Django Admin实现三级联动的示例代码(省市区)