怎样在VS2005中实现DropDownList与数据库的绑定

数据库里有一张表,想让DropDownList显示表里的字段。(请教)另外请问怎么样实现俩个DropDownList之间的联动呢?比如DropDownList1里放的是重... 数据库里有一张表,想让DropDownList显示表里的字段。(请教)

另外请问怎么样实现俩个DropDownList之间的联动呢?

比如DropDownList1里放的是重点企业,非重点企业两项。如果选择重点企业DropDownList2里相应就可以选择烟草,石油,化工。如果选择非重点企业,DropDownList2里相应就可以选择百货,五金,之类的,
展开
 我来答
陈宇衡
2010-04-08
知道答主
回答量:32
采纳率:0%
帮助的人:16.8万
展开全部
一张表的绑定字段,下面有几种方法,如果需要联动的话,同样如果是一张表,那么2个字段,一个为企业或非企业,另外一个为相应类别,首先把第一个字段绑定到DropDownList1,然后通过
if(DropDownList1.SelectedValue=="重点企业")//判断
{ 然后这里面绑定DropDownList12数据,注意sql语句写法}
,接着再if语句判断即可,不知你明白没,下面是个人总结的关于DropDownList文章,不懂的再可以问我:
一、dropdownlist控件的值绑定方法:
1、直接输入item项
<asp:DropDownList ID="DropDownList1" runat="server" >
<asp:ListItem>张三</asp:ListItem>
<asp:ListItem>李四</asp:ListItem>
</asp:DropDownList>
这恐怕是最简单的,看下面这种
2、数据源控件绑定
<asp:DropDownList ID="DropDownList1"runat="server"DataSourceID="SqlDataSource1"DataTextField="name"DataValueField="name"> </asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings: ConnectionString %>"
SelectCommand="SELECT [name] FROM [yh]"></asp:SqlDataSource>
这种实用、方便写,再看下面这种
3、使用dataset或datareader绑定控件(以dataset为例)
SqlDataAdapter da = new SqlDataAdapter("select id,name from hy",conn);
DataSet ds = new DataSet();
da.Fill(ds);
conn.Close();
DropDownList1.DataSource = ds.Tables[0];
DropDownList1.DataTextField="name";
DropDownList1.DataValueField = "id";
DropDownList1.DataBind();
这种高级一点,或许还有一些方法,发现中;
二、而实际应用中,很多时候不是简单的一个绑定值那么简单,例如:当dropdownlist控件绑定值后,而你又希望指定初始值,就是显示的值,例子很多就不举了,下面是自己总结的几种方法(只放前后台主要代码):
第一种:
前台代码:
<asp:DropDownList ID="DropDownList1" runat="server" >
<asp:ListItem>张三</asp:ListItem>
<asp:ListItem>李四</asp:ListItem>
</asp:DropDownList>
后台代码:
DropDownList1.Item.Inset(0,"李四");//这是插入第一个值为李四;
DropDownList.Items.FindByValue("李四").selected = true;//这是调用findbyvalue方法指定初始值;
第二种:
前台代码:
<asp:DropDownList ID="DropDownList1"runat="server"DataSourceID="SqlDataSource1"DataTextField="name"DataValueField="name"> </asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings: ConnectionString %>"
SelectCommand="SELECT [name] FROM [yh]"></asp:SqlDataSource>
后台代码:
DropDownList1.SelectedValue = "李四"; //使用item方法貌似不行,会提示没有引入实例错误;
第三种:
前台代码:前面2种都可以;
后台代码:
DropDownList1.SelectedIndex = 1;//通过控件索引来指定,1代表第二个值;

其实还有一种,比较经常用到,实例说明:(在此直观的说明)
实例问题:绑定控件的值为id,但显示为name,同样首先指定默认值,通过选项,修改id;
区别:默认值是通过数据库数值或传的数据来指定的,而不是指定一个默认字符串;
解决方法:
1、前台代码:
<asp:DropDownList ID="DropDownList1" runat="server" >
<asp:ListItem>张三</asp:ListItem>
<asp:ListItem>李四</asp:ListItem>
</asp:DropDownList>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string yhid = Request.Params["userid"].ToString();
DropDownList1.Items.FindByValue(yhid).Selected= true;
}
}//这里只是简单阐述,如果是从dataset读出来的值,是一样的效果;
2、前台代码:
<asp:DropDownList ID="DropDownList1"runat="server"DataSourceID="SqlDataSource1"DataTextField="name"DataValueField="id"> </asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings: ConnectionString %>"
SelectCommand="SELECT [id] [name] FROM [yh]"></asp:SqlDataSource>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string yhid = Request.Params["userid"].ToString();
DropDownList1.SelectedValue = yhid; }
}
3、或者可以通过sql语句直接读取id所对应的name,就可以直接使用赋值了:

三、DropDownList数据绑定第一项为空的方法
DropDownList1.DataSource = ds.Tables[0];
DropDownList1.DataTextField="name";
DropDownList1.DataValueField = "id";
DropDownList1.Items.Insert(0,new ListItem());
百度网友356946b
2010-04-08 · TA获得超过129个赞
知道答主
回答量:170
采纳率:0%
帮助的人:94.4万
展开全部
你这个就是根据DropDownList1中的选项从数据库中读取数据,然后将得到的结果填充到DropDownList2中就OK啦!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaodi3071
2010-04-16
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
在 protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { }里写代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式