Foxtable(狐表)用户栏目专家坐堂 → [求助]窗口table中勾选好的显示列不起作用了,


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

主题:[求助]窗口table中勾选好的显示列不起作用了,

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


加好友 发短信
等级:童狐 帖子:247 积分:1634 威望:0 精华:0 注册:2016/7/20 15:46:00
[求助]窗口table中勾选好的显示列不起作用了,  发帖心情 Post By:2017/3/9 18:03:00 [只看该作者]

老师,昨天我照帮助中的代码,采用可视化授权表后

发现所有窗口table中勾选好的显示列不起作用,所属表的所有列都显示出来了,请问老师这是哪里出了问题?

禁止修改表事件也失效了,

LoadUserSetting事件

If User.Group = "超管" Then
DataTables("出库单").AllowEdit = True
DataTables("入库单").AllowEdit = True
DataTables("入库").AllowEdit = True
DataTables("出库").AllowEdit = True
DataTables("退出库单").AllowEdit = True
DataTables("退出库").AllowEdit = True
Else
DataTables("出库单").AllowEdit = False
DataTables("入库单").AllowEdit = False
DataTables("入库").AllowEdit = False
DataTables("出库").AllowEdit = False
DataTables("退出库单").AllowEdit = False
DataTables("退出库").AllowEdit = False
End If

 

窗口6 调拨单据
窗口9 入库单据
窗口10 退出库单据

麻烦老师帮忙看下

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:即时库存表_201703091805.zip

密码默认
[此贴子已经被作者于2017/3/9 18:06:44编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/9 18:51:00 [只看该作者]

红色代码删除掉

 

For Each t As Table In Tables
    t.Visible = True
    t.AllowEdit = True
    For Each c As Col In t.Cols
        c.Visible = True
        c.AllowEdit = True
    Next
Next

Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("授权表").Select("用户名 = '" & User.Group & "'" )
        If dr.IsNull("列名") Then
            Tables(dr("表名")).Visible = Not dr("不可见")
            Tables(dr("表名")).AllowEdit = Not dr("不可编辑")
        Else
            Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
        End If
    Next
End If


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


加好友 发短信
等级:童狐 帖子:247 积分:1634 威望:0 精华:0 注册:2016/7/20 15:46:00
  发帖心情 Post By:2017/3/9 19:48:00 [只看该作者]

如果不考虑中途切换用户,那么代码可以挪到项目事件AfterOpenProject中,下面的这一段代码可以删除:

For Each t As Table In Tables
t.Visible =
True
t.AllowEdit =
true

For
Each c As Col In t.Cols
c.Visible =
True
c.AllowEdit =
True
Next

Next

 

请问老师这段应该怎样理解呢?


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/9 20:16:00 [只看该作者]

这段代码的意思是:循环所有表,循环所有列,把可见设置成true,把可编辑设置成false。

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


加好友 发短信
等级:童狐 帖子:247 积分:1634 威望:0 精华:0 注册:2016/7/20 15:46:00
  发帖心情 Post By:2017/3/9 20:46:00 [只看该作者]

谢谢老师的解答,虽然还是不懂,但效果是杠杠的

 回到顶部