Foxtable(狐表)用户栏目专家坐堂 → [求助]取消筛选


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

主题:[求助]取消筛选

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


加好友 发短信
等级:九尾狐 帖子:2191 积分:18001 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]取消筛选  发帖心情 Post By:2021/6/26 18:05:00 [只看该作者]

有一个表,加载完之后,根据不同的导航菜单会用不同的筛选条件过滤(比如通过导航菜单加载了条件)。例如t1.filter = "店名= '“ & 全局变量X & "'"

希望是某个用户不论在什么时候,最多只能看到符合这个条件的数据。
如果在界面处右键-取消筛选,会把所有的数据都显示出来,这个不合适。

如何在取消筛选的时候,自动使用这个条件呢?
一个个表去设置不太合适,最好是用一个通用的方法一起设。比如设置一个全局变量,去读取这个表的原始过滤条件(这个怎么得到呢?比如焦点移动到这个表中时,就去获取这个表的原始过滤条件),当取消筛选的时候,就直接t.filter=原始过滤条件
[此贴子已经被作者于2021/6/26 18:38:46编辑过]

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


加好友 发短信
等级:童狐 帖子:243 积分:3613 威望:0 精华:1 注册:2010/5/9 18:45:00
  发帖心情 Post By:2021/6/26 18:32:00 [只看该作者]

你是不是把加载和筛选弄混了,一个表按条件加载后不管怎样筛选操作,都只显示加载条件内的数据,关于如何自动加载条件方法很多,主要看你显示的表是怎样生成的,窗口表也可以做一个自定义函数,窗口生成时引用这个函数就可以,


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


加好友 发短信
等级:九尾狐 帖子:2191 积分:18001 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2021/6/26 18:37:00 [只看该作者]

说的就是筛选。
一个表用导航菜单的时候,点击不同的导航菜单,虽然主表是同一个,但筛选条件不同。这样,点A菜单时,主表X显示100行;点B菜单时,主表X显示20行
这时候如果在界面上右键-取消筛选,不论这时候是A菜单还是B导航菜单,都会显示出120行,显然是有问题的。

如果只是主表还好,还有很多窗口表(包括主窗口,模式窗口等),都会有表,如果右键-取消筛选,会显示这个表对应的主表的所有数据。这样不利于做数据的权限控制

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


加好友 发短信
等级:童狐 帖子:243 积分:3613 威望:0 精华:1 注册:2010/5/9 18:45:00
  发帖心情 Post By:2021/6/26 19:18:00 [只看该作者]

你这给情况应该使用加载,然后再筛选,要互相使用哒,尽量数据显示用加载,查找数据用筛选
[此贴子已经被作者于2021/6/26 19:20:12编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2191 积分:18001 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2021/6/26 19:22:00 [只看该作者]

数据是一次性加载的,但用不同的筛选条件。
问题是共用一个主表的时候,任何一个导航菜单显示的主表界面,右键取消筛选就会显示所有数据,这是有问题的。不可能切换导航菜单的时候,直接用loadfilter,这会影响到其它的业务使用这个主表数据(因为其它业务使用主表数据的时候,可能是全部,而不是某一个条件)。

[此贴子已经被作者于2021/6/26 19:25:39编辑过]

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


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

默认撤销筛选就是取消所有的筛选条件,这是正常的。这种情况应该像4楼说的那样,改为加载。

方法1、不要使用系统默认菜单的撤销筛选功能,自己另外做一个撤销筛选功能。
2、改为使用窗口表比如sqltable,来控制显示加载的数据
3、不同业务需要使用不同数据的时候根据具体情况按条件重新加载数据 

 回到顶部