以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 分页加载和后台筛选启用后加载树和筛选按钮不可用 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124864) |
|
-- 作者:weibu -- 发布时间:2018/9/15 8:42:00 -- 分页加载和后台筛选启用后加载树和筛选按钮不可用 采用的分页加载和后台筛选及筛选功能均为狐表自带的功能。 表的Beforeload有设置加载条件:仅加载登陆者所在部门的信息。
在开发用户状态下:两个又是可用的,请问这是什么原因。切换到用户菜单也是可用的。
[此贴子已经被作者于2018/9/15 9:01:57编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2018/9/15 9:02:00 -- 我测试没有问题。怎么做的分页筛选和后台筛选?贴出代码。或者上传实例说明 |
|
-- 作者:weibu -- 发布时间:2018/9/15 9:24:00 -- 蓝老师,分页筛选就是用咱们狐表自带的加载树设置的。 后台筛选就是狐表配置栏右上角的自带按钮功能。 我刚才又试了下把表时间Beforeload的加载条件去掉,登陆普通用户也是可以用的。 在论坛中看到一个跟我情况类似的 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&replyID=813816&ID=120735&skin=1 我的Beforeload事件如下: Dim dr As DataRow = DataTables("用户信息").find("用户名 = \'" & 用户名 & "\'") \'找到当前登录者所在的行 Dim filter As String = "1=2" If dr("职位") = "管理者" Then Dim drs = DataTables("部门信息").Select("层级 like \'" & dr("层级") & "%\'") For Each cdr As DataRow In drs Filter &= " or 当前所在部门 = \'" & cdr("所属部门") & "\' And 是否可用 = 1" Next Else If dr("职位") = "职员" Then Filter = "当前所在部门 = \'" & dr("所属部门") & "\'And 是否可用 = 1" End If DataTables("溯源码").loadfilter = Filter |
|
-- 作者:有点蓝 -- 发布时间:2018/9/15 9:37:00 -- 那就是合成的条件不准确。 自己看看最终合成的条件 msgbox(Filter)
|
|
-- 作者:weibu -- 发布时间:2018/9/15 10:31:00 -- 合成条件什么意思?在哪里加msgbox(Filter) [此贴子已经被作者于2018/9/15 10:41:37编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2018/9/15 10:45:00 -- 有没有符合上面条件的数据? |
|
-- 作者:weibu -- 发布时间:2018/9/15 10:54:00 -- 以下内容情况是普通用户登陆,非开发用户: 后台筛选按钮开启的情况下:点击筛选无筛选效果:如我想筛选商品名称为“苹果”的商品。我在单元格右击快捷筛选,并没有筛选出来苹果的商品。好像仅仅时重新加载了一下,加载的代码仅执行了Beforeload,并没有执行快捷菜单的筛选动作。 后台筛选按钮关闭的情况下:筛选是正常的; 但是通过狐表自带的加载树,设置的加载树点击相应商品是没有筛选效果的,好像还是重新加载仅执行了beforeload,并没有执行筛选树的筛选加载动作。 在开发者登陆的环境下所有功能是正常的
[此贴子已经被作者于2018/9/15 10:58:32编辑过]
|
|
-- 作者:weibu -- 发布时间:2018/9/15 11:01:00 -- 论坛中看到一个跟我情况类似的,但没看到解决方案 在普通用户登录下,如果删除表beforeload中的代码,除了达不到我按beforeload设置的加载数据的目的。加载树和后台筛选功能都正常了。 也就是说表中beforeload设置的加载条件和加载树、后台筛选不能共存。否则异常。 [此贴子已经被作者于2018/9/15 11:11:17编辑过]
|
|
-- 作者:有点蓝 -- 发布时间:2018/9/15 11:07:00 -- DataTables("溯源码").loadfilter = Filter 改为: If e.DataTable.LoadFilter > "" Then e.DataTable.LoadFilter = e.DataTable.LoadFilter & " and " & Filter Else e.DataTable.LoadFilter = Filter End If |
|
-- 作者:weibu -- 发布时间:2018/9/15 11:18:00 -- 还是不行,跟原来情况一样。
|