以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]listbox问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=118680)

--  作者:81538475
--  发布时间:2018/5/8 19:24:00
--  [求助]listbox问题

代码放在combobox3的valuechanged 里面

当选择部门时,列表中会对应显示出部门旗下的二级部门。但是现在无论选哪个部门,都会显示同样的二级部门。

帮忙看看下面的代码应该怎么改吧

Dim cmd As New SQLCommand
Dim dt As DataTable
\'Dim dt As DataTable = DataTables("人员信息表")
Dim lst As WinForm.ListBox = e.Form.Controls("ListBox1")
cmd.C
cmd.CommandText = "SE LE C T DISTINCT 部门,二级部门 From {人员信息表}"
dt = cmd.ExecuteReader()

For Each dr As DataRow In dt.Datarows
    Dim drs As List(Of String)
    drs = dt.GetUniqueValues("部门 > \'\' AND 二级部门 > \'\' ","部门")
    For i As Integer = 0 To drs.Count - 1
        If dr("部门") = drs(i) Then
            lst.Items.Add(dr("二级部门"))
        End If
    Next
Next
If Lst.Items.Count > 0 Then
    lst.SelectedIndex = 0
End If


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/5/8 19:36:53编辑过]

--  作者:有点蓝
--  发布时间:2018/5/8 20:17:00
--  
combobox3的valuechanged 

Dim lst As WinForm.ListBox = e.Form.Controls("ListBox1")
lst.ComboList = DataTables("人员信息表").SQLGetComboListString("二级部门","部门= \'" & e.sender.value & "\'")
if Lst.Items.Count > 0 Then
    lst.SelectedIndex = 0
End If