Foxtable(狐表)用户栏目专家坐堂 → 求助-下拉组合框问题


  共有1608人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
lovetoday
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:89 积分:852 威望:0 精华:0 注册:2018/7/3 0:45:00
求助-下拉组合框问题  发帖心情 Post By: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楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/3/16 11:13:00 [只看该作者]

Dim lsx As WinForm.ListBox = e.form.Controls("ListBox1")
lsx.ComboList = DataTables("白塔销售档案").SQLGetComboListString("销售档案_客户名称")


 回到顶部
帅哥哟,离线,有人找我吗?
lovetoday
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:89 积分:852 威望:0 精华:0 注册:2018/7/3 0:45:00
  发帖心情 Post By: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楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
lovetoday
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:89 积分:852 威望:0 精华:0 注册:2018/7/3 0:45:00
  发帖心情 Post By:2024/3/16 13:19:00 [只看该作者]

老师,这代码是写在下拉组合框的textchanged的事件里,改用您的代码后,下拉组合框直接就没有菜单了

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/3/16 13:54:00 [只看该作者]

放到下拉窗口的DropDownOpening事件

 回到顶部
帅哥哟,离线,有人找我吗?
lovetoday
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:89 积分:852 威望:0 精华:0 注册:2018/7/3 0:45:00
  发帖心情 Post By:2024/3/16 15:55:00 [只看该作者]

老师,提示错误

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


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lovetoday
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:89 积分:852 威望:0 精华:0 注册:2018/7/3 0:45:00
  发帖心情 Post By:2024/3/16 16:19:00 [只看该作者]

老师,这两句的第一句还是有sender ,提示的错误还是这个

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110544 积分:562604 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/3/16 16:24:00 [只看该作者]

不对呀,如果是要在控件一边输入,一般做筛选,类似这里的用法:http://www.foxtable.com/webhelp/topics/2466.htm。我测试在textchanged的事件使用4楼的代码没有任何问题

 回到顶部
总数 11 1 2 下一页