Foxtable(狐表)用户栏目专家坐堂 → 关于加载树多选


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

主题:关于加载树多选

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


加好友 发短信
等级:幼狐 帖子:161 积分:1240 威望:0 精华:0 注册:2019/10/12 19:54:00
关于加载树多选  发帖心情 Post By:2022/4/25 13:59:00 [只看该作者]

在表事件的beforeload中,加入如下代码:
 Dim fl As String = "所属公司 = '" & User.group & "'"
            If e.DataTable.LoadFilter = "" Then
                e.DataTable.LoadFilter = fl
            ElseIf e.DataTable.LoadFilter.IndexOf(fl) < 0  Then  '如果没有包括雇员条件
                e.DataTable.LoadFilter = e.DataTable.Loadfilter & " And " &  fl
            End  If
会出现如下情况:
加载树日期单选时,只会加载本公司的数据,但加载树日期双选的时候,会加载出其他公司的数据,请问原因,截图如下:

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/25 14:01:00 [只看该作者]

调试看看

 Dim fl As String = "所属公司 = '" & User.group & "'"
msgbox(e.DataTable.LoadFilter)
            If e.DataTable.LoadFilter = "" Then
                e.DataTable.LoadFilter = fl
            ElseIf e.DataTable.LoadFilter.IndexOf(fl) < 0  Then  '如果没有包括雇员条件
                e.DataTable.LoadFilter = e.DataTable.Loadfilter & " And " &  fl
            End  If
msgbox(e.DataTable.LoadFilter)

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


加好友 发短信
等级:幼狐 帖子:161 积分:1240 威望:0 精华:0 注册:2019/10/12 19:54:00
  发帖心情 Post By:2022/4/25 14:20:00 [只看该作者]

按照你指点的改完以后出现如下提醒:

此主题相关图片如下:3.png
按此在新窗口浏览图片



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


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/25 14:35:00 [只看该作者]

是个bug,我反馈一下。

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


加好友 发短信
等级:八尾狐 帖子:1823 积分:19512 威望:0 精华:0 注册:2013/4/10 14:38:00
  发帖心情 Post By:2022/4/30 15:10:00 [只看该作者]

改一下,测试下

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:动态加载演示.foxdb


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2022/5/1 7:56:00 [只看该作者]

楼主,逻辑与句的合并应该这样:

Dim fl As String = "所属公司 = '" & User.group & "'"
            If e.DataTable.LoadFilter = "" Then
                e.DataTable.LoadFilter = fl
            ElseIf e.DataTable.LoadFilter.IndexOf(fl) < 0  Then  '如果没有包括雇员条件
                e.DataTable.LoadFilter = "(" & e.DataTable.Loadfilter & ") And (" &  fl & ")"
            End  If



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


加好友 发短信
等级:八尾狐 帖子:1823 积分:19512 威望:0 精华:0 注册:2013/4/10 14:38:00
  发帖心情 Post By:2022/5/1 10:12:00 [只看该作者]

狐狸爸爸

你测试下,加载条件并不是每次重新生成

 回到顶部