以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何在下拉窗口直接调用数据源中的数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=157368)

--  作者:zyxhx
--  发布时间:2020/10/13 16:29:00
--  如何在下拉窗口直接调用数据源中的数据
请问老师:通常下拉窗口都是获取的表数据,如果想直接从数据库中读取,以下下拉窗口代码应该如何修改?窗口类型已经已设置为SQLTable,数据源名称为ZHGL。
代码已经发在附件里,请老师指点修改。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:下拉窗口代码.txt



--  作者:有点蓝
--  发布时间:2020/10/13 16:51:00
--  
下拉窗口_DropDownOpened

Dim txt As String = e.Form.DropDownBox.Text
Dim tbl As Table = Tables("死者姓名下拉窗口_Table1")
dim filter  as string
If txt = "" Then
    filter  = ""
Else
    txt = "\'%" & txt & "%\'"
    filter  = "姓名 Like " & txt & " Or 个人编号 Like " & txt & " Or 身份证号 Like " & txt & " Or 姓名缩写 Like " & txt
End If
dataTables("死者姓名下拉窗口_Table1").loadfilter = filter  
dataTables("死者姓名下拉窗口_Table1").load
e.Form.DropDownBox.Select() \'将输入焦点返回下拉列表框


--  作者:zyxhx
--  发布时间:2020/10/13 18:06:00
--  
姓名下拉组合框的TextChanged事件这里也需要改吗,如何改?如果不改则提示:未找到列[姓名]。下拉框显示为空

以下未修改的代码:
Dim drp As WinForm.DropDownBox = e.sender
If drp.DroppedDown Then \'如果下拉窗口已经打开
    Dim tbl As Table = Tables("死者姓名下拉窗口_Table1")
    If drp.Text = "" Then \'如果内容为空
        tbl.Filter = "" \'显示所有客户
    Else \'否则根据输入内容进行模糊筛选
        Dim txt As String = "\'%" & drp.Text & "%\'"
        tbl.Filter = "姓名 Like " & txt & " Or 身份证号 Like " & txt & " Or 医疗证号 Like " & txt & " Or 姓名缩写 Like " & txt
    End If
End If



--  作者:有点蓝
--  发布时间:2020/10/13 20:12:00
--  
完全一样的改法
--  作者:zyxhx
--  发布时间:2020/10/14 9:03:00
--  
我这样修改后,下拉不显示任何数据,请问是什么原因?

Dim drp As WinForm.DropDownBox = e.sender
If drp.DroppedDown Then \'如果下拉窗口已经打开
    \' Dim tbl As Table = Tables("死者姓名下拉窗口_Table1")
    Dim filter As String
    If drp.Text = "" Then \'如果内容为空
        Filter = "" \'显示所有客户
    Else \'否则根据输入内容进行模糊筛选
        Dim txt As String = "\'%" & drp.Text & "%\'"
        Filter = "姓名 Like " & txt & " Or 身份证号 Like " & txt & " Or 医疗证号 Like " & txt & " Or 姓名缩写 Like " & txt
    End If
    DataTables("死者姓名下拉窗口_Table1").loadfilter = filter
    DataTables("死者姓名下拉窗口_Table1").load
End If

--  作者:有点蓝
--  发布时间:2020/10/14 9:07:00
--  
代码没有问题,如果没有数据说明没有符号条件的数据。输入其它条件测试
--  作者:zyxhx
--  发布时间:2020/10/14 9:10:00
--  
可是下拉框为空也没有数据,去掉符号也为空
[此贴子已经被作者于2020/10/14 9:15:20编辑过]

--  作者:有点蓝
--  发布时间:2020/10/14 9:14:00
--  
说明没有符号条件的数据
--  作者:zyxhx
--  发布时间:2020/10/14 9:16:00
--  
去掉符号条件也为空
--  作者:有点蓝
--  发布时间:2020/10/14 9:22:00
--  
请上传实例说明