Foxtable(狐表)用户栏目专家坐堂 → 请教保存好以后不允许编辑的问题


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

主题:请教保存好以后不允许编辑的问题

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


加好友 发短信
等级:婴狐 帖子:29 积分:242 威望:0 精华:0 注册:2011/11/22 12:36:00
请教保存好以后不允许编辑的问题  发帖心情 Post By:2012/1/6 12:27:00 [只看该作者]

再请教你一个问题行吗,我想在销售单价列编辑好以后,不是马上不允许编辑,而是保存好以后不允许编辑,怎么设计?



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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2012/1/6 13:02:00 [只看该作者]

让不同用户编辑不同的列

假定一个表,要求:

1、禁止张三和李四编辑第一列、第二列和第三列。
2、禁止王五和赵六编辑第四列、第五列和第六列。
3、只有张经理编辑才能编辑第十列。

为此可将此表的PrepareEdit事件代码设置为:

Select Case User.Name
    Case
"张三",
"李四"
       
Select Case e.Col.Name
            Case
"第一列","第二列","第三列"

                e.Cancel =
True
       
End Select
   
Case "王五", "赵六"
       
Select Case e.Col.Name
            Case
"第四列","第五列","第六列"

                e.Cancel =
True
       
End Select
End
Select
If
e.Col.Name = "第十列" Then
    If User.Name <> "张经理" Then
        e.Cancel =
True
   
End If
End
If

实际应用的时候,将上述代码替换为具体的列名和用户名即可。

上面的代码是基于用户名的,同样可以改为基于用户分组的,只需将上述代码中的User.Name改为User.Group,并将用户名替换为分组名即可。


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


加好友 发短信
等级:婴狐 帖子:29 积分:242 威望:0 精华:0 注册:2011/11/22 12:36:00
  发帖心情 Post By:2012/1/6 14:23:00 [只看该作者]

谢谢指教


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


加好友 发短信
等级:婴狐 帖子:29 积分:242 威望:0 精华:0 注册:2011/11/22 12:36:00
  发帖心情 Post By:2012/1/6 14:27:00 [只看该作者]

这种办法编辑好以后马上就不能重新修改,也不方便,我想只有保存文件以后再禁止修改,要修改只能由部分人进行。

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/1/6 14:57:00 [只看该作者]

在PrePareEdit事件中判断行的状态,如果不是新增行,就只允许某些人编辑。

http://www.foxtable.com/help/topics/0605.htm

http://www.foxtable.com/help/topics/0428.htm

 

 


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


加好友 发短信
等级:婴狐 帖子:29 积分:242 威望:0 精华:0 注册:2011/11/22 12:36:00
  发帖心情 Post By:2012/1/6 15:05:00 [只看该作者]

谢谢狐狸爸爸,我是新手中的新手,你指教的方法,我慢慢理解、学习,谢谢!

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/1/6 15:10:00 [只看该作者]

例如将prepareedit事件代码设置为:

 

If e.Row.DataRow.RowState <> DataRowState.Added Then
    e.cancel = True
End If

 

就只允许编辑新增加的行,无法编辑已经保存的行。


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


加好友 发短信
等级:婴狐 帖子:29 积分:242 威望:0 精华:0 注册:2011/11/22 12:36:00
  发帖心情 Post By:2012/1/6 15:14:00 [只看该作者]

太感谢你了

 


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


加好友 发短信
等级:婴狐 帖子:29 积分:242 威望:0 精华:0 注册:2011/11/22 12:36:00
  发帖心情 Post By:2012/1/6 15:15:00 [只看该作者]

太感谢你了


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


加好友 发短信
等级:婴狐 帖子:29 积分:242 威望:0 精华:0 注册:2011/11/22 12:36:00
  发帖心情 Post By:2012/1/6 15:47:00 [只看该作者]

狐爸:哪如果让上级权限的人进行修改的话,再怎么往下编译呢?

 回到顶部