Foxtable(狐表)用户栏目专家坐堂 → 如何让下拉框实时刷新?


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

主题:如何让下拉框实时刷新?

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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
如何让下拉框实时刷新?  发帖心情 Post By:2019/3/20 9:40:00 [只看该作者]

做了个下拉选择框,但是下拉框(dropdownbox)是检索 “A表”的数据的,但是A表的数据是不断在发生变化的,如何让下拉检索A表时实时刷新A表的内容?    是否需要设置下拉窗口的代码?


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

下拉框    TextChanged事件为:
Dim drp As WinForm.DropDownBox = e.sender
If drp.DroppedDown Then '如果下拉窗口已经打开
    
    '下面两行没起作用
    Dim t As Table = Tables("win_选择电脑设备_table_选择电脑设备") 
    t.DataTable.Load(False)     


    Dim tbl As Table = Tables("win_选择电脑设备_table_选择电脑设备")  
    If drp.Text = "" Then '如果内容为空
        tbl.Filter = "资产卡片号 is not null "  '显示所有设备
    Else '否则根据输入内容进行模糊筛选
        Dim txt As String = "'%" & drp.Text & "%'"
        tbl.Filter ="资产卡片号 is null " & "and (设备类型 Like " & txt & "Or 所在科室 Like " & txt & " Or 所在房间 Like " & txt & ")"
'msgbox(tbl.Filter)
         'tbl.Filter = "姓名 Like " & txt & " Or 单位 Like " & txt & " Or 部门 Like " & txt & " Or 手机 Like " & txt  &  "Or 短号 Like " & txt &  "Or 邮箱 Like " & txt &  "Or QQ Like " & txt &  "Or QQ Like " & txt &  "Or 微信 Like " & txt &  "Or 办公电话  Like " & txt
    End If
End If
[此贴子已经被作者于2019/3/20 9:45:37编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/20 10:43:00 [只看该作者]

 

代码写到 DropDownOpened 事件,即可。

 

 


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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/3/21 9:24:00 [只看该作者]

我把它写在 被拉出来的窗口(窗口类型为 DropDownForm)  的 dropdownopened事件里面,可是还是没有生效啊

  Dim txt As String = e.Form.DropDownBox.Text
Dim tbl As Table = Tables("win_选择电脑设备_table_选择电脑设备")


    Dim t As Table = Tables("win_选择电脑设备_table_选择电脑设备") 
    t.DataTable.Load(False)    


If txt = "" Then
    tbl.Filter = ""
Else
    txt = "'%" & txt & "%'"
    tbl.Filter = "设备类型 Like " & txt & "or 所在科室 Like " & txt & " Or 所在房间 Like " & txt 
End If
e.Form.DropDownBox.Select() '将输入焦点返回下拉列表框

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

试试

Dim t As Table = Tables("win_选择电脑设备_table_选择电脑设备") 
t.DataTable.loadfilter = ""
    t.DataTable.Load(False)    

或者把筛选改为加载
dim filter as string = ""
If txt > "" Then
    txt = "'%" & txt & "%'"
    filter  = "设备类型 Like " & txt & "or 所在科室 Like " & txt & " Or 所在房间 Like " & txt 
End If
tbl.DataTable.loadfilter = filter  
    tbl.DataTable.Load(False)

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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/3/26 11:23:00 [只看该作者]

按照上述方法试了,还是不行啊

下面的代码是选择窗口,和被下拉的窗口  输出的代码,能帮忙检查一下吗?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:窗口代码.rar

[此贴子已经被作者于2019/3/26 11:23:03编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/26 12:20:00 [只看该作者]

上传具体实例测试。

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


加好友 发短信
等级:六尾狐 帖子:1218 积分:8451 威望:0 精华:0 注册:2016/2/2 21:52:00
  发帖心情 Post By:2019/3/26 14:39:00 [只看该作者]

是不是因为     ables("win_选择电脑设备_table_选择电脑设备")    是副本表,所以无法用    load刷新?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:绑定资产.rar


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/26 15:42:00 [只看该作者]

不是把窗口发上来。请单独做一个可以直接打开测试的项目发上来。


 回到顶部