以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]窗口表的篩選  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=86377)

--  作者:PeterGu
--  发布时间:2016/6/16 12:14:00
--  [求助]窗口表的篩選
有個長久以來的困擾想請問各位老師,如下圖所見

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
第一張圖經過篩選"省市=北京市"後,點選日常工作的新增行,就會看到第二張圖所示,雖然新增行的省市單元格是空白的,但是並不會被篩選過濾掉。
這是一個很貼心的設計,因為很常會需要在有篩選的時候,新增行然後再填入資料的操作。

然而當我用窗口設計一個表控件,同樣是篩選"省市=北京市",然後按一下右下角的新增行按鈕,卻看不到新增的行,因為新增的行是全部空白的,所以被篩選過濾掉了。
新增行按鈕的代碼如下:
Tables(e.Form.Name & "_Table1").AddNew

請問各位老師,有辦法在窗口下的操作,讓新增行不會被過濾掉嗎?

--  作者:狐狸爸爸
--  发布时间:2016/6/16 12:34:00
--  
这个贴心的设计,对于副本和关联表无效,必须是主表或者SQLTable
--  作者:大红袍
--  发布时间:2016/6/16 12:34:00
--  

 副本表,只会显示筛选后的数据,因为你新增行的值是空白,不满足,自然被筛选掉。

 

 你可以新增按钮这样写

 

dim t as table = Tables(e.Form.Name & "_Table1")
Dim nr as row = t.AddNew
t.filter = iif(t.filter > "", t.filter & " or _Identify = " & nr("_Identify"), "")

 


--  作者:PeterGu
--  发布时间:2016/6/16 12:43:00
--  
感謝兩位老師的回覆,因為副本表有很多優勢,所以應該會繼續用副本表
採用了紅袍老師的代碼,結果非常順利,謝謝