以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  新增行看不见  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=189150)

--  作者:1234567
--  发布时间:2023/11/14 11:12:00
--  新增行看不见
窗口1中,插入一个Table控件,类型为Normal表,
插入一个 DropDownBox控件,Click事件代码
 Dim Filter As String
With e.Form.Controls("dropBox1")
    If .Value IsNot Nothing Then
        Filter = "类别 = \'" & .Value & "\'"
    End If
End With
If Filter > "" Then
    Tables("窗口1_Table1").Filter = Filter
End If
当我对窗口1_Table1筛选后,新增一行,新增的一行为什么也被筛选掉了,我新增行的时候不是没点击控件吗,应该没启动Filter。

--  作者:有点蓝
--  发布时间:2023/11/14 11:24:00
--  
只要窗口表格设置了筛选条件,不符合条件的数据当然看不到了,新增的行类别是没有值的,如果要保留,新增后给类别赋值即可

dim r as row = Tables("窗口1_Table1").addnew
r("类别") = e.Form.Controls("dropBox1").text

--  作者:1234567
--  发布时间:2023/11/14 11:52:00
--  
蓝老师:对代码执行的时效性没有搞明白。
Click事件代码,用鼠标单击控件的时候执行。我理解的是单击一次,就Filter一次,执行完毕后,在下次单击控件前就不在重新执行Filter了。
然后我新增行或者修改窗口1_Table1某一行的类型数据,但不去单击DropDownBox控件,应该是不会执行Filter,为何新增行或者修改行被Filter掉了?

--  作者:有点蓝
--  发布时间:2023/11/14 11:57:00
--  
这个和事件的执行没有什么关系,表格设置了筛选条件,只要不更改这个条件,那么这个筛选就是一直有效的
--  作者:1234567
--  发布时间:2023/11/14 12:07:00
--  
原来采用SQL表,不存在这个问题。


--  作者:有点蓝
--  发布时间:2023/11/14 13:34:00
--  
只有副本就会这样