三个DropDownList问题,解决马上给分!!!

时间:2021-03-25 19:25:53
三个DropDownList控件,根据DropDownList1的选项值决定DropDownList2的选项,
根据DropDownList2的选项值决定DropDownList3的选项

DropDownList1里的选项是表A里的所有字段,表A里只有字段名/没有记录
A表里一个字段名对应一个数据表(如A表里的字段ff就对应数据表CC),

DropDownList2里的每个选项就是对应每一个数据表(如选项'商家'就对应表CC),

DropDownList3里的选项就是数据表里的某些关键字段,根据关键字查找记录

这个分级查询怎样实现啊,我刚学vb.net的,第一次用到这个控件

哪位高手可以给出用vb.net写的完整代码吗?

24 个解决方案

#1


http://www.cnblogs.com/jm_tek/archive/2005/03/13/117906.html#Post

#2


自己动手才能获得更多!

#3


我学vb.net才几个月啊,现在是第一次做东东,当然有很多不会啊,正在学习中^
希望高手指教,有用vb.net写的代码吗,

#4


楼主想偷懒阿..这样怎么行哦..
口惜阿..俺只会C#

#5


你的问题在这个项目里有
http://218.27.204.17/aspnet/a_user.aspx

#6


具体的code我就不写了。因为我实在看不懂你的ff cc什么的。
大概的概念就是用一个dropdownlist的autopostback事件,将选定的item.value传回给server,然后运行一条sql语句把查询结果放在一个dataset里面,绑定到下一个dropdownlist.
自己多试试吧。
不行的话把你的什么ff cc写清楚点再回来看看。

#7


这个应该跟自动刷新DropdownList控件的有关吧!!

#8


去孟老大那里找下呀

#9


select 主 FROM 主表名(SELECT 主对应的副1字段 FROM副彪(SELECT 。。。。))
这种,要的话我发一个例子给你.msn:wangliqun_dl@hotmail.com只发给楼主!

#10


偷懒是程序员的最大美德!!!

#11


http://jwc.jxnu.edu.cn/service/short_msg/msg_write.aspx

#12


查询时,以上一个DropDownList选择的条件作为查询依据

#13


DropDownList2 好像根本用不上

select * from A表 ----------------添充DropDownList1


select * from DropDownList1选择的值

#14


GZ

#15


这好像不难吧?不就是绑定数据吗?

俺只会C#

#16


private sub DataBinder
   dim dt as DataTable;
   dim conn as SqlConnection 
   dim cd as SqlCommand

   conn=new SqlConnection("server=localhost;database=數據庫;uid=sa;pwd=密碼")
   cd=new SqlCommand("select * from A表",conn)

#17


private sub DataBinder()
   dim dt as DataTable;
   dim conn as SqlConnection 
   dim cd as SqlCommand
   dim dr as SqlDataReader
   conn=new SqlConnection("server=localhost;database=數據庫;uid=sa;pwd=密碼")
   cd=new SqlCommand("select * from A表",conn)
   dr =cd.ExecuteReader()
   DropDownList1.DataSource=dr 
   DropDownList1.DataBind()
end sub
 以下的如上,只是把Sql語句改一下:
select * from  DropDownList1的值
select * from DropDownList2的值

#18


yzgnick(yzg) :
上面写了后,DropDownList1_SelectedIndexChanged  这里面怎么写啊,
还没有绑定呢?
可以写完整些吗,我真的是刚接触vb.net的,

#19


Private Sub DataBinder()
        conn.Open()
        Cmd.CommandText = "select * from sx01"
        Dim objReader As System.Data.SqlClient.SqlDataReader = Cmd.ExecuteReader()
        DropDownList1.DataSource = objReader
        DropDownList1.DataBind()
        conn.Close()
    End Sub

    Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged

    End Sub

怎样把查询到的结果绑定到DropDownList啊,可以写清楚些吗?

#20


Private Sub DataBinder()
        Dim dt As DataTable
        conn.Open()
        Cmd.CommandText = "select * from sx01"
        Dim objReader As System.Data.SqlClient.SqlDataReader = Cmd.ExecuteReader()
        DropDownList1.DataSource = objReader
        DropDownList1.DataBind()
        conn.Close()
    End Sub

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        conn.Open()
        DtAdpt.Fill(DS11, "sx01")
        DropDownList1.DataBind()
        conn.Close()
    End Sub

    Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged

    End Sub

第一次查询后怎么绑定到DropDownList1并显示出来啊??    高手帮我改一下啊!!!

#21


Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        conn.Open()
        DtAdpt.Fill(DS11, "sx01")
        DropDownList1.DataSource = DtAdpt
        DropDownList1.DataBind()
        conn.Close()
    End Sub

#22


建三个下拉表ddpList1,ddpList2,ddpList3
它们的AutoPostBack=True

建三个下拉表ddpList1,ddpList2,ddpList3
它们的AutoPostBack=True
做好一个公用的过程,这个过程用ddpList1和ddpList2的值来从数据库中取ddpList3的添充值:
Sub LoadData()

 ''这里是取出数据,填充ddpList3的代码ddpList1.SelectedItem.value,ddpList2.SelectedItem.value
End Sub
在ddpList1和ddpList2的
SelectedIndexChanged事件中
调用LoadData()过程

这样就实现了ddpList1或ddpList2选项改变,ddpList3也随着改变的效果

如果你要再复杂些,如ddpList1改变,ddpList2随着改变,ddpList3随着ddpList1和ddpList2的任意一个改变而改变的话,你就要建二个过程
如 LoadData_1 ,LoadData_2
LoadData_1过程中,你取数据的依据是ddpList1的值,这个数据用于填充ddpList2
LoadData_2过程中,取数据的依据就是ddpList2的值了,这个数据用于填充ddpList3了
但要注意,在LoadData_1的过程中,后面要调用一下LoadData_2
Sub LoadData_1()
  .......
  .......
  LoadData_2()   ''调用第二个过程
End Sub

在ddpList1的SelectedIndexChanged事件中调用过程LoadData_1,ddpList2的SelectedIndexChanged事件中调用过程LoadData_2
这样就实现了2、3随1改变,3又随2改变而改变了

#23


Sub LoadData_1()和Sub LoadData_2()里的代码是怎么写啊,可以贴出来吗?

#24


dzvsyt(一笑天), 还在吗?

#1


http://www.cnblogs.com/jm_tek/archive/2005/03/13/117906.html#Post

#2


自己动手才能获得更多!

#3


我学vb.net才几个月啊,现在是第一次做东东,当然有很多不会啊,正在学习中^
希望高手指教,有用vb.net写的代码吗,

#4


楼主想偷懒阿..这样怎么行哦..
口惜阿..俺只会C#

#5


你的问题在这个项目里有
http://218.27.204.17/aspnet/a_user.aspx

#6


具体的code我就不写了。因为我实在看不懂你的ff cc什么的。
大概的概念就是用一个dropdownlist的autopostback事件,将选定的item.value传回给server,然后运行一条sql语句把查询结果放在一个dataset里面,绑定到下一个dropdownlist.
自己多试试吧。
不行的话把你的什么ff cc写清楚点再回来看看。

#7


这个应该跟自动刷新DropdownList控件的有关吧!!

#8


去孟老大那里找下呀

#9


select 主 FROM 主表名(SELECT 主对应的副1字段 FROM副彪(SELECT 。。。。))
这种,要的话我发一个例子给你.msn:wangliqun_dl@hotmail.com只发给楼主!

#10


偷懒是程序员的最大美德!!!

#11


http://jwc.jxnu.edu.cn/service/short_msg/msg_write.aspx

#12


查询时,以上一个DropDownList选择的条件作为查询依据

#13


DropDownList2 好像根本用不上

select * from A表 ----------------添充DropDownList1


select * from DropDownList1选择的值

#14


GZ

#15


这好像不难吧?不就是绑定数据吗?

俺只会C#

#16


private sub DataBinder
   dim dt as DataTable;
   dim conn as SqlConnection 
   dim cd as SqlCommand

   conn=new SqlConnection("server=localhost;database=數據庫;uid=sa;pwd=密碼")
   cd=new SqlCommand("select * from A表",conn)

#17


private sub DataBinder()
   dim dt as DataTable;
   dim conn as SqlConnection 
   dim cd as SqlCommand
   dim dr as SqlDataReader
   conn=new SqlConnection("server=localhost;database=數據庫;uid=sa;pwd=密碼")
   cd=new SqlCommand("select * from A表",conn)
   dr =cd.ExecuteReader()
   DropDownList1.DataSource=dr 
   DropDownList1.DataBind()
end sub
 以下的如上,只是把Sql語句改一下:
select * from  DropDownList1的值
select * from DropDownList2的值

#18


yzgnick(yzg) :
上面写了后,DropDownList1_SelectedIndexChanged  这里面怎么写啊,
还没有绑定呢?
可以写完整些吗,我真的是刚接触vb.net的,

#19


Private Sub DataBinder()
        conn.Open()
        Cmd.CommandText = "select * from sx01"
        Dim objReader As System.Data.SqlClient.SqlDataReader = Cmd.ExecuteReader()
        DropDownList1.DataSource = objReader
        DropDownList1.DataBind()
        conn.Close()
    End Sub

    Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged

    End Sub

怎样把查询到的结果绑定到DropDownList啊,可以写清楚些吗?

#20


Private Sub DataBinder()
        Dim dt As DataTable
        conn.Open()
        Cmd.CommandText = "select * from sx01"
        Dim objReader As System.Data.SqlClient.SqlDataReader = Cmd.ExecuteReader()
        DropDownList1.DataSource = objReader
        DropDownList1.DataBind()
        conn.Close()
    End Sub

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        conn.Open()
        DtAdpt.Fill(DS11, "sx01")
        DropDownList1.DataBind()
        conn.Close()
    End Sub

    Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged

    End Sub

第一次查询后怎么绑定到DropDownList1并显示出来啊??    高手帮我改一下啊!!!

#21


Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        conn.Open()
        DtAdpt.Fill(DS11, "sx01")
        DropDownList1.DataSource = DtAdpt
        DropDownList1.DataBind()
        conn.Close()
    End Sub

#22


建三个下拉表ddpList1,ddpList2,ddpList3
它们的AutoPostBack=True

建三个下拉表ddpList1,ddpList2,ddpList3
它们的AutoPostBack=True
做好一个公用的过程,这个过程用ddpList1和ddpList2的值来从数据库中取ddpList3的添充值:
Sub LoadData()

 ''这里是取出数据,填充ddpList3的代码ddpList1.SelectedItem.value,ddpList2.SelectedItem.value
End Sub
在ddpList1和ddpList2的
SelectedIndexChanged事件中
调用LoadData()过程

这样就实现了ddpList1或ddpList2选项改变,ddpList3也随着改变的效果

如果你要再复杂些,如ddpList1改变,ddpList2随着改变,ddpList3随着ddpList1和ddpList2的任意一个改变而改变的话,你就要建二个过程
如 LoadData_1 ,LoadData_2
LoadData_1过程中,你取数据的依据是ddpList1的值,这个数据用于填充ddpList2
LoadData_2过程中,取数据的依据就是ddpList2的值了,这个数据用于填充ddpList3了
但要注意,在LoadData_1的过程中,后面要调用一下LoadData_2
Sub LoadData_1()
  .......
  .......
  LoadData_2()   ''调用第二个过程
End Sub

在ddpList1的SelectedIndexChanged事件中调用过程LoadData_1,ddpList2的SelectedIndexChanged事件中调用过程LoadData_2
这样就实现了2、3随1改变,3又随2改变而改变了

#23


Sub LoadData_1()和Sub LoadData_2()里的代码是怎么写啊,可以贴出来吗?

#24


dzvsyt(一笑天), 还在吗?