ListBox控件显示分类如何实现三级联动

庄紫夏侯S9
2013-10-10 · TA获得超过3537个赞
知道小有建树答主
回答量:905
采纳率:0%
帮助的人:2114万
展开全部
ListBox分别为ListBox1、ListBox2、ListBox3 如果只是简单的设置这三个ListBox的SelectedIndexChanged事件的处理程序,那么只能实现相邻的两级之间的联动。为了实现三级联动,需要使用一下方法: 首先配置三个数据源控件:SqlDataSource1、SqlDataSource2、SqlDataSource3。 在Aspx文件的源代码试图,配置好这三个数据源控件的ConnectionString属性。配置第一个ListBox:ListBox1的SqlDataSource:SqlDataSource1的SelectCommand属性,其余两个数据源的SelectCommand属性则不要配置,留作以后由程序配置。 配置ListBox1的SelectedIndexChanged事件:protectedvoidListBox1_SelectedIndexChanged(objectsender,EventArgse){Path.Text=ListBox1.SelectedItem.Text; SqlDataSource2.SelectCommand= "select*from[category]wherefatherid=" +ListBox1.SelectedValue; ListBox2.DataSource=SqlDataSource2; ListBox2.DataValueField="id";ListBox2.DataTextField="name";ListBox2.DataBind();}在这个事件中给ListBox2做了数据绑定。 然后再在ListBox2的DataBound()事件中,给ListBox3做数据绑定,这样就实现了三级联动:protectedvoidListBox2_DataBound(objectsender,EventArgse){SqlDataSource3.SelectCommand= "select*from[category]wherefatherid=" +ListBox2.Items[1].Value; ListBox3.DataSource=SqlDataSource3; ListBox3.DataValueField="id";ListBox3.DataTextField="name";ListBox3.DataBind();}但是这时,只有单击了ListBox1的选项的时候,ListBox3才会联动,还需要配置当单击ListBox2的时候,ListBox3也要联动,这就需要配置ListBox2的SelectedIndexChanged()事件的处理程序:protectedvoidListBox2_SelectedIndexChanged(objectsender,EventArgse){Path.Text=ListBox1.SelectedItem.Text+ListBox2.SelectedItem.Text; SqlDataSource3.SelectCommand= "select*from[category]wherefatherid=" +ListBox2.SelectedValue; ListBox3.DataSource=SqlDataSource3; ListBox3.DataValueField="id";ListBox3.DataTextField="name";ListBox3.DataBind();}这样就可以实现完美的三级联动了。 里面的SelectCommand字符串的内容以及要绑定的字段需要配合相应的数据库做改变。
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式