以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于权限问题请老师解答。 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100547) |
-- 作者:biaoai2011 -- 发布时间:2017/5/13 14:51:00 -- [求助]关于权限问题请老师解答。 老师,您看如图,我有两个窗口,第一个窗口绑定的都是不同的表。窗体内的编辑 删除按钮权限只有管理员才能编辑,录入员则不能编辑。两个窗体和表我都用的同样的事件代码,奇怪的是我的窗体1内如果是录入数据后点击之前录入的数据则不能编辑且显示为灰色(这是我想要的结果图3所示),但是窗体2就不行,虽然不能编辑,但是窗体内不能显示为灰色(图4所示。)请问老师,我这个是哪里弄错了吗 [此贴子已经被作者于2017/5/13 14:52:22编辑过]
|
-- 作者:有点蓝 -- 发布时间:2017/5/13 15:04:00 -- 2个窗口都是怎么设置的权限,具体代码贴出来。 |
-- 作者:biaoai2011 -- 发布时间:2017/5/13 15:41:00 -- 以下是引用有点蓝在2017/5/13 15:04:00的发言: 2个窗口都是怎么设置的权限,具体代码贴出来。 表事件 机动车台账表_PrepareEdit e.Cancel = True 机动车台账表_BeforeDeleteDataRow If _UserName <> "管理员" Then MessageBox.Show("您无权限进行此项操作,请与您的管理员联系!!!", " 警 告") e.Cancel = True End If 窗口表事件 窗口与控件事件 机动车台账信息录入窗口_AfterLoad Tables("机动车台账表").AllowEdit = False \'表不可编辑 机动车台账信息录入窗口_Enter \'Dim ctl As WinForm.Control = e.Sender \'Select Case ctl.BindingField \'Case "机动车台账表" \'If _Username = "管理员" Then \'ctl.ReadOnly = BooleanEnum.False \'允许编辑 \'Else \'ctl.ReadOnly = BooleanEnum.True \'禁止编辑 \'End If \'End Select这个是窗口1的显示为图3 |
-- 作者:biaoai2011 -- 发布时间:2017/5/13 15:43:00 -- 以下是引用有点蓝在2017/5/13 15:04:00的发言: 2个窗口都是怎么设置的权限,具体代码贴出来。 表事件
一般程序处罚表_PrepareEdit
e.Cancel = True
一般程序处罚表_BeforeDeleteDataRow
If _UserName
<> "管理员" Then MessageBox.Show("您无权限进行此项操作,请与您的管理员联系!!!",
" 警
告") e.Cancel = True End If 窗口表事件
窗口与控件事件
工作日志录入_AfterLoad
Tables("工作日志表").AllowEdit
= False \'表不可编辑
工作日志录入_Enter
Dim ctl As
WinForm.Control = e.Sender Select Case
ctl.BindingField Case "工作日志表" If _Username = "管理员" Then ctl.ReadOnly = BooleanEnum.False \'允许编辑 Else ctl.ReadOnly = BooleanEnum.True \'禁止编辑 End If
End Select 这个是第二个窗口的。图片显示为4 |
-- 作者:有点蓝 -- 发布时间:2017/5/13 15:54:00 -- 你看能不能在控件中进行编辑。 日期控件只读情况下控件不会变灰的
|
-- 作者:biaoai2011 -- 发布时间:2017/5/13 16:29:00 -- 以下是引用有点蓝在2017/5/13 15:54:00的发言:
你看能不能在控件中进行编辑。 日期控件只读情况下控件不会变灰的 不是呀老师,点其它的控件都不会变灰的。 |
-- 作者:有点蓝 -- 发布时间:2017/5/13 16:31:00 -- 上传例子看看 |