足球游戏_中国足彩网¥体育资讯$

DropDownList绑定数据表实现两级联动示例
来源:易贤网 阅读:778 次 日期:2014-08-28 14:57:05
温馨提示:易贤网小编为您整理了“DropDownList绑定数据表实现两级联动示例”,方便广大网友查阅!

这篇文章主要介绍了DropDownList绑定数据表实现两级联动具体实现,需要的朋友可以参考下

场景一:平时我们在DropDownList控件下添加下拉选项时,都会使用它的Item.Add方法,直接在代码下添加。如果我们想添加或修改下拉选项,则必须去修改源代码。如果几个DropDownList控件的下拉选项相同,我们则需要重复添加好多次,后期的维护工作很不方便。

场景二:我们在12306网站买票时,肯定遇到过这么一种情景:我们需要先选定目的地的省份,选完省份后在城市选框中会自动加载该省份的城市,实现两级联动。

针对以上两个场景,我们可以用DropDownList直接绑定数据表,根据选择的省份动态加载该省份下的城市。光说不练,不是好汉,让我用一个小Demo来大家演示下详细过程吧。

首先我们需要在数据库中建立两个表,一个是Province(省份)表,一个是City(城市)表。建表语句如下:

代码如下:

CreateTableProvince

(

ProIDintprimarykey,

ProNamevarchar(20)notnull

)

CreateTableCity

(

CityIDintprimarykey,

ProIDintforeignkeyreferencesProvince(ProID),

CityNamevarchar(20)

)

InsertintoProvincevalues('1','北京')

InsertintoProvincevalues('2','河北')

InsertintoProvincevalues('3','山东')

insertintoCityvalues('1','1','海淀')

insertintoCityvalues('2','1','丰台')

insertintoCityvalues('3','1','大兴')

insertintoCityvalues('4','2','衡水')

insertintoCityvalues('5','2','廊坊')

insertintoCityvalues('6','2','保定')

insertintoCityvalues('7','3','济南')

insertintoCityvalues('8','3','烟台')

insertintoCityvalues('9','3','青岛')

通过建表语句我们可以知道,北京下有三个城市--海淀、丰台、大兴,河北下有三个城市--衡水、廊坊、保定,山东有三个城市--济南、烟台、青岛。

然后我们在Web窗体中放好控件,效果如下图所示:

dropDownList控件名称分别为ddlProvince、ddlCity

接着我们在Web后台代码中实现功能。我们需要在Web窗体加载时,ddlProvince控件绑定Province表,在ddlProvince下拉选项改变时,ddlCity控件绑定City表。实现代码如下:

建立数据库连接类:

代码如下:

publicclassDB

{

//连接数据库的字符串

publicstaticSqlConnectionCreateConnection()

{

SqlConnectioncon=newSqlConnection("DataSource=.;InitialCatalog=test;uid=sa;pwd=123456;");

returncon;

}

}

Web窗体加载时执行代码:

代码如下:

protectedvoidPage_Load(objectsender,EventArgse)

{

//如果窗体是第一次加载

if(!this.IsPostBack)

{

//绑定省份

SqlConnectioncon=DB.CreateConnection();

//打开数据库连接

con.Open();

SqlCommandcmdProvince=newSqlCommand("select*fromProvince",con);

SqlDataReadersdrProvince=cmdProvince.ExecuteReader();

//将sdrProvince中的内容绑定到ddlProvince下拉列表中

this.ddlProvince.DataSource=sdrProvince;

//需要显示的数据表Province中的内容

this.ddlProvince.DataTextField="ProName";

//需要显示的数据表Province中的主键

this.ddlProvince.DataValueField="ProID";

this.ddlProvince.DataBind();

sdrProvince.Close();

//关闭数据库连接

con.Close();

}

}

ddlProvince控件下拉选项改变时执行的代码:

代码如下:

protectedvoidddlProvince_SelectedIndexChanged(objectsender,EventArgse)

{

SqlConnectioncon=DB.CreateConnection();

//打开数据库连接

con.Open();

//绑定城市

SqlCommandcmdCity=newSqlCommand("select*fromCitywhereProID="+this.ddlProvince.SelectedValue,con);

SqlDataReadersdrCity=cmdCity.ExecuteReader();

//将sdrCity中的内容绑定到ddlCity下拉列表中

this.ddlCity.DataSource=sdrCity;

//需要显示的数据表City中的内容

this.ddlCity.DataTextField="CityName";

//需要显示的数据表City中的主键

this.ddlCity.DataValueField="CityID";

this.ddlCity.DataBind();

sdrCity.Close();

//关闭数据库连接

con.Close();

}

这样,我们就用DropDownList动态绑定数据表,实现了根据选择的省份动态下拉该省份下的城市的功能,达到了面向对象设计中解耦的目的,增强了代码的可维护性和用户的体验度。

希望我的讲解能对大家有所帮助。

中国足彩网信息请查看IT技术专栏

中国足彩网信息请查看网络编程
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 足球游戏_中国足彩网¥体育资讯$ 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:易贤网
云南网警报警专用图标