以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 开通全局表事件自动关闭项目问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=52816) |
-- 作者:wumingrong1 -- 发布时间:2014/6/23 17:48:00 -- [求助] 开通全局表事件自动关闭项目问题 我在项目事件的Initialize写入一下命令: For Each dt As DataTable In DataTables dt.GlobalHandler.DataColChanged = True \'开通全局表事件"DataColChanged" Next For Each da As DataTable In DataTables da.GlobalHandler.DataRowAdding = True \'开通全局表事件"DataRowAdding" Next For Each de As DataTable In DataTables de.GlobalHandler.DataRowAdded = True \'开通全局表事件"DataRowAdded" Next 然后分别在全局表事件: 1、DataColChanged中写入 e.DataRow("操作记录_修改人员") = _Username \'纪录该条纪录是哪个人员录入的\' e.DataRow("操作记录_修改日期") = Date.now 2、 DataRowAdding中写入: e.DataRow("操作记录_增加人员") = _Username \'纪录该条纪录是哪个人员录入的\' e.DataRow("操作记录_增加日期") = Date.now 3、 DataRowAdded中写入: e.DataRow("分公司") = _user分公司 当我在表中新增一行时、项目自动关闭。问题出在哪啦? |
-- 作者:Bin -- 发布时间:2014/6/23 17:51:00 -- 表事件的DataColChanged是否有写代码? 你这情况是死循环了 把例子发出来看看
|
-- 作者:wumingrong1 -- 发布时间:2014/6/24 8:48:00 -- 1、DataColChanged中写入 e.DataRow("操作记录_修改人员") = _Username \'纪录该条纪录是哪个人员录入的\' e.DataRow("操作记录_修改日期") = Date.now 估计应该是这个问题,但不知道怎么处理。 [此贴子已经被作者于2014-6-24 8:49:08编辑过]
|
-- 作者:Bin -- 发布时间:2014/6/24 8:51:00 -- 单单这个代码不应该会造成死循环.把项目传上来我分析一下看看吧 |
-- 作者:Bin -- 发布时间:2014/6/24 8:52:00 -- 试试这样 e.DataRow("操作记录_修改人员") = _Username \'纪录该条纪录是哪个人员录入的\' if e.datacol.name <> "操作记录_修改日期" then e.DataRow("操作记录_修改日期") = Date.now end if |
-- 作者:wumingrong1 -- 发布时间:2014/6/24 9:02:00 -- OK,谢谢。 还有一个问题,如果我希望在全局表事件中设定某个用户登录后,该用户只能对所有表进行查看、查询;不允许进行增加、修改、删除等操作。该怎么做? If User.Type <> UserTypeEnum.Developer AndAlso User.Type <> UserTypeEnum.Administrator AndAlso _UserGroup <> "特级管理员" AndAlso _UserGroup <> "一级管理员" AndAlso _UserGroup <> "二级管理员" Then 允许正常操作 Else 只能对所有表进行查看、查询;不允许进行增加、修改、删除等操作
end if
|
-- 作者:Bin -- 发布时间:2014/6/24 9:04:00 -- http://www.foxtable.com/help/topics/1600.htm |