Foxtable(狐表)用户栏目专家坐堂 → [求助][讨论]


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

主题:[求助][讨论]

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


加好友 发短信
等级:婴狐 帖子:9 积分:155 威望:0 精华:0 注册:2016/8/19 10:19:00
[求助][讨论]  发帖心情 Post By:2016/8/19 10:49:00 [只看该作者]

在这里求助一个关于表事件与窗口事件的矛盾,问题如下:

 

这里我先对两名用户设置了查看权限

Select Case User.Name
    Case "", ""
        Tables("配件数据库").Cols.Remove("单价")
        Tables("配件数据库").Cols.Remove("HS编码")
        Tables("配件数据库").Cols.Remove("生产供应商")
        Tables("配件数据库").Cols.Remove("采购或销售合同单号")
        Tables("配件数据库").Cols.Remove("所属用户")
        Tables("配件数据库").Cols.Remove("退税率")
End Select

虽然这几列在打开表时被移除了,但在设计的显示窗口中依然可见被移除列的信息。

如图


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

 

 

这里我又对部分用户设置了编辑权限

Select Case User.Group
    Case "业务部"
        Select Case e.Col.Name
            Case "物料编码", "车型装备名称", "部件系统名称", "部件名称1", "部件名称2", "零件名称", "图号代号", "技术参数说明", "图示照片", "外形尺寸", "单位数量", "单位重量", "规格"
                e.Cancel = True

        End Select
End Select

虽然对于这几名用户这几列已被锁定,单在设计的显示窗口中依然可以编辑,在显示窗口的textbox中更改了信息也就等于是更改了表中的信息。

如图


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


 

所以我只好设置窗口的Enter事件 将其根据不同用户进行锁定

Dim ctl As WinForm.Control = e.Sender
If User.Group = "技术部" Then
    ctl.ReadOnly = BooleanEnum.False
Else
    ctl.ReadOnly = BooleanEnum.True
End If

但是这里只能对一个用户或者一个部门设置权限

如果按一下进行编辑

Dim ctl As WinForm.Control = e.Sender
If User.Group = "技术部" or “业务部”Then
    ctl.ReadOnly = BooleanEnum.False
Else
    ctl.ReadOnly = BooleanEnum.True
End If

则显示如下信息


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

 

我对电脑并不太了解,这些也都是跟着帮助里的信息做的,后续的解决办法帮助里真的是没有了,希望大家给点意见,如何解决此问题,十分感谢


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/19 10:52:00 [只看该作者]

Dim ctl As WinForm.Control = e.Sender
If User.Group = "技术部" orelse User.Group = “业务部”Then
    ctl.ReadOnly = BooleanEnum.False
Else
    ctl.ReadOnly = BooleanEnum.True
End If

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


加好友 发短信
等级:婴狐 帖子:9 积分:155 威望:0 精华:0 注册:2016/8/19 10:19:00
  发帖心情 Post By:2016/8/19 10:57:00 [只看该作者]

谢谢 这么简单啊

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/19 11:04:00 [只看该作者]

Tables("配件数据库").Cols.Remove效果和隐藏列一样,绑定还是可以看见的

在窗口afterload事件,把对应列绑定的控件隐藏,或者去掉绑定。

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


加好友 发短信
等级:婴狐 帖子:9 积分:155 威望:0 精华:0 注册:2016/8/19 10:19:00
  发帖心情 Post By:2016/8/19 11:11:00 [只看该作者]

还请高手指点如何把对应列绑定的控件隐藏,请给出部分代码,十分感谢

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/19 11:13:00 [只看该作者]


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


加好友 发短信
等级:婴狐 帖子:9 积分:155 威望:0 精华:0 注册:2016/8/19 10:19:00
  发帖心情 Post By:2016/8/19 13:03:00 [只看该作者]

问题已解决,感谢!!!

 回到顶部