以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  怎样限制使得已经填报的数据不能修改,删除,除非管理员  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=117076)

--  作者:nxdx112
--  发布时间:2018/4/5 18:33:00
--  怎样限制使得已经填报的数据不能修改,删除,除非管理员
怎样限制使得以及所有表填报的数据不能修改,删除,除非管理员进行。
具体怎么写呀?通用代码怎么写?
[此贴子已经被作者于2018/4/6 8:45:39编辑过]

--  作者:lihe60
--  发布时间:2018/4/5 21:29:00
--  
在修改前事件、删除前事件作出判断
--  作者:psu3785494
--  发布时间:2018/4/6 9:46:00
--  

 在  全局表事件 中的 StartEdit 事件

 

If e.Row.DataRow.IsNull(e.Col.DataCol) = False Then
    If User.Name <> "管理员" Then
        e.Cancel = True
        Messagebox.show("只有管理员才有权修改和删除记录!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Else
        e.Cancel = False
    End If
End If

 

然后在 项目事件 中的 Initialize事件

 

For Each dt As DataTable In DataTables
    dt.GlobalHandler.StartEdit  = True
Next

 

 

这样控制的是所有表

[此贴子已经被作者于2018/4/6 10:20:03编辑过]

--  作者:有点甜
--  发布时间:2018/4/6 11:30:00
--  

判断行的状态,如果不是新增行(已经保存的行),就不能修改和删除。

 

分别编写datacolchanging、beforeDeleteDataRow事件

 

http://www.foxtable.com/webhelp/scr/0624.htm

 

http://www.foxtable.com/webhelp/scr/0632.htm

 

http://www.foxtable.com/webhelp/scr/0428.htm

 


--  作者:nxdx112
--  发布时间:2018/4/14 11:58:00
--  
谢谢,我抽空试试
单个表的控制已经可以,但项目中所有表的代码不起作用,在项目代码中不起作用
[此贴子已经被作者于2018/4/14 12:01:33编辑过]

--  作者:有点蓝
--  发布时间:2018/4/14 12:02:00
--  
什么事件?什么代码?具体什么现象?请上传实例看看
--  作者:nxdx112
--  发布时间:2018/4/21 10:58:00
--  
谢谢图片点击可在新窗口打开查看