以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  AllowFiltering 如何快速取消筛选条件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=116262)

--  作者:zhutangxin
--  发布时间:2018/3/21 23:27:00
--  AllowFiltering 如何快速取消筛选条件
老师,您好,

在下面的链接的示例中,用了AllowFiltering ,问题是如何象Excel中“取消筛选”一样快速取消筛选条件.


我试了Tables("行政区域").Grid.AllowFiltering = False 可以恢复显示所有数据。但在下次筛选的时候,需要重新启用内置的筛选,用了Tables("行政区域").Grid.AllowFiltering = True时,原先的筛选条件还在,有点麻烦。

请问有没有什么代码快速取消前一次筛选的条件的代码?

图片点击可在新窗口打开查看此主题相关图片如下:内置筛选器.png
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2018/3/22 9:04:00
--  
取消筛选这样写 Tables("表A").Grid.FilterDefinition = ""
--  作者:zhutangxin
--  发布时间:2018/3/22 9:37:00
--  
谢谢,非常好用
--  作者:zhutangxin
--  发布时间:2018/3/22 9:39:00
--  
追问一下,tables().grid.allowfiltering 属性是不是只对Table加载了的数据有限,无法对后台进行筛选,对吧?
--  作者:有点甜
--  发布时间:2018/3/22 9:47:00
--  
筛选,都是只是针对已经加载的数据的。
--  作者:zhutangxin
--  发布时间:2018/7/20 18:42:00
--  
追问一个问题:
用户觉得使用grid.allowfiltering 之后,觉得操作习惯上类似于Excel,很好。

但有一个问题,引来很大麻烦 。也就是说grid.allowfiltering经过筛选后,其实是将一些不符合过滤条件的行给隐藏了起来。而不是真正地从Table中将这些行过滤掉,会引起二个问题:
1. 选中多行删除,如果多行中包含了隐藏行,那么,将会连隐藏行一起删除
2. 使用CTRL+D进行重复填充的时候,也会将值复制给隐藏的行,从而使数据意外被更改。

有没有什么办法,让Table().grid.allowfiltering的筛选有良好的客户体验,也不会造成误操作的风险。谢谢!

--  作者:子剑
--  发布时间:2019/2/19 15:36:00
--  
我测试了内置筛选器,确实在重复填充时出现问题,把没有筛选出来的行的值也填充进去了。看来这个问题还没有解决。
--  作者:有点蓝
--  发布时间:2019/2/19 15:49:00
--  
底层的用法有兴趣自己研究C1帮助

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=82089