以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于单元格编辑权限的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=115319) |
-- 作者:初心不改再说未来 -- 发布时间:2018/3/5 10:51:00 -- 关于单元格编辑权限的问题 表A中有 电话 接待人 两列 如何可以 当员工A登录输入电话后,员工B看到的是**** 但当员工B在接待人处填写自己的姓名后(外部用户表) 就可以看到正常的电话号码 此时对于员工A 和 B 都可以看见电话号码 但是对于员工C D E 等 仍然看不到号码只能看到**** 且表A的接待人列不许再更改 这个代码该怎么写? 昨天用隐藏数据的办法实现了****的状态 但是员工A B 登录后也成了****的样子 求解答
|
-- 作者:有点甜 -- 发布时间:2018/3/5 11:15:00 -- drawcell事件,写代码
If e.col.name = "电话号码" Then If e.row("接待人") <> user.name AndAlso e.row("填写人") <> user.name Then e.text = "***" End If End If
startEdit事件,写代码
If e.row("接待人") > "" Then e.cancel = true End If |
-- 作者:初心不改再说未来 -- 发布时间:2018/3/5 11:24:00 -- .NET Framework 版本:2.0.50727.8669 Foxtable 版本:2018.3.3.1 错误所在事件:表,地接部业务中心表,DrawCell 详细错误信息: 调用的目标发生了异常。 列“填写人”不属于表 业务表。 版主 我没有填写人这个列啊 要怎么代替
[此贴子已经被作者于2018/3/5 11:25:31编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/3/5 11:26:00 -- 如果没有,那就改成固定的值
If e.row("接待人") <> user.name AndAlso "员工A" <> user.name Then |
-- 作者:初心不改再说未来 -- 发布时间:2018/3/5 12:27:00 -- If e.Row("接待人") > "" Then e.cancel = True End If 这个代码执行之后,现在不仅仅是接待人这一个列不能更改,为什么所有列都不能更改了?应该是仅仅接待人这一列不能更改啊 是我哪里设置有问题吗 表里没有其他事件啊 |
-- 作者:初心不改再说未来 -- 发布时间:2018/3/5 13:45:00 -- 好了 应该是在PrepareEdit事件代码设置为 If e.Col.Name = "接待人" Then If e.Row.IsNull("接待人") = False Then e.Cancel = True End If End If |
-- 作者:初心不改再说未来 -- 发布时间:2018/3/5 13:56:00 -- 也不行 现在是这一列只要有一个数据 整个列都不能编辑了 郁闷 咋写啊版主 好了 搞定了 锁定列了 唉
[此贴子已经被作者于2018/3/5 13:59:53编辑过]
|