Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:求助-下拉组合框问题

1楼
lovetoday 发表于:2024/3/16 10:43:00
老师,我在当“白塔销售档案”表是内部表时,在窗口的DropDownOpened事件中用如下代码,可以实现读取功能,但现在“白塔销售档案”表为存在SQL数据库中,且不带数据加载为内部表,那么要如何修改代码,才能实现相同功能?
Dim items As String = ""
For Each dr As DataRow In DataTables("白塔销售档案").datarows
    items += dr("销售档案_客户名称") & "|"
Next
Dim lsx As WinForm.ListBox = e.form.Controls("ListBox1")
lsx.ComboList = items.Trim("|")

e.Form.DropDownBox.Select() '将输入焦点返回下拉列表框


2楼
有点蓝 发表于:2024/3/16 11:13:00
Dim lsx As WinForm.ListBox = e.form.Controls("ListBox1")
lsx.ComboList = DataTables("白塔销售档案").SQLGetComboListString("销售档案_客户名称")

http://www.foxtable.com/webhelp/topics/2910.htm
3楼
lovetoday 发表于:2024/3/16 11:47:00
老师,感谢您,这个问题解决了,但是还是在相同的情况下,在下拉组合框时输入相关的信息后,在下拉的菜单中应该是显示与我输入信息like的,但是现在组合框不like了,请您帮看下,这代码哪里有问题
Dim drp As WinForm.DropDownBox = e.sender
If drp.DroppedDown Then '如果下拉窗口已经打开
    Dim items As String = ""
    For Each dr As DataRow In DataTables("白塔销售档案").Select("销售档案_客户名称 like '*" & e.sender.Text & "*'")
        items += dr("销售档案_客户名称") & "|"
    Next
    Dim lsx As WinForm.ListBox = Forms(e.sender.DropFormName).Controls("ListBox1")
    lsx.ComboList = DataTables("白塔销售档案").SQLGetComboListString("销售档案_客户名称")

End If
4楼
有点蓝 发表于:2024/3/16 12:03:00
2句代码就行了

Dim drp As WinForm.DropDownBox = e.sender
If drp.DroppedDown Then '如果下拉窗口已经打开
    Dim lsx As WinForm.ListBox = Forms(e.sender.DropFormName).Controls("ListBox1")
    lsx.ComboList = DataTables("白塔销售档案").SQLGetComboListString("销售档案_客户名称","销售档案_客户名称 like '*" & e.sender.Text & "*'")
End If
5楼
lovetoday 发表于:2024/3/16 13:19:00
老师,这代码是写在下拉组合框的textchanged的事件里,改用您的代码后,下拉组合框直接就没有菜单了
6楼
有点蓝 发表于:2024/3/16 13:54:00
放到下拉窗口的DropDownOpening事件
7楼
lovetoday 发表于:2024/3/16 15:55:00
老师,提示错误

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

8楼
有点蓝 发表于:2024/3/16 16:14:00
只保留下面2句

    Dim lsx As WinForm.ListBox = Forms(e.sender.DropFormName).Controls("ListBox1")
    lsx.ComboList = DataTables("白塔销售档案").SQLGetComboListString("销售档案_客户名称","销售档案_客户名称 like '*" & e.Form.DropDownBox.value & "*'")
[此贴子已经被作者于2024/3/16 16:14:42编辑过]
9楼
lovetoday 发表于:2024/3/16 16:19:00
老师,这两句的第一句还是有sender ,提示的错误还是这个
10楼
有点蓝 发表于:2024/3/16 16:24:00
不对呀,如果是要在控件一边输入,一般做筛选,类似这里的用法:http://www.foxtable.com/webhelp/topics/2466.htm。我测试在textchanged的事件使用4楼的代码没有任何问题
共11 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.