以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何让下拉框实时刷新?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=132335)

--  作者:ycwk
--  发布时间: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编辑过]

--  作者:有点甜
--  发布时间:2019/3/20 10:43:00
--  

 

代码写到 DropDownOpened 事件,即可。

 

 


--  作者:ycwk
--  发布时间: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() \'将输入焦点返回下拉列表框

--  作者:有点蓝
--  发布时间: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
--  发布时间:2019/3/26 11:23:00
--  
按照上述方法试了,还是不行啊

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

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

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

--  作者:有点甜
--  发布时间:2019/3/26 12:20:00
--  
上传具体实例测试。
--  作者:ycwk
--  发布时间:2019/3/26 14:39:00
--  
是不是因为     ables("win_选择电脑设备_table_选择电脑设备")    是副本表,所以无法用    load刷新?

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


--  作者:有点甜
--  发布时间:2019/3/26 15:42:00
--  

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