Foxtable(狐表)用户栏目专家坐堂 → [求助]操作日志的做法步骤


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

主题:[求助]操作日志的做法步骤

帅哥哟,离线,有人找我吗?
大红袍
  21楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/26 19:30:00 [只看该作者]

什么意思,你想做什么?修改了列,就会触发datacolchanged事件啊

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


加好友 发短信
等级:三尾狐 帖子:633 积分:4016 威望:0 精华:0 注册:2015/1/27 9:34:00
  发帖心情 Post By:2015/8/26 19:56:00 [只看该作者]

是这样的,我新增一条记录后,判断其行状态为4,然后将datacolchanged事件代码中的2改为4,从而避免在新增记录时过多的触发列修改事件。但是在新增事件中,由于数据未保存,从而致使“合同编号”无法在操作日志中得以体现,因此,想问问这个取值的问题。

 

下面是代码:

 

datacolchanged

 

If e.DataTable.Name <> "合同操作日志" Then
    If e.DataRow.RowState = 4 Then
       Return
    Else
        Dim dr As DataRow = DataTables("合同操作日志").AddNew
        dr("ID") = e.DataRow("_Identify")
        dr("用户") = _UserName
        dr("时间") = Date.Now
        dr("涉及列") = e.DataCol.Name
        dr("操作") = """" & e.OldValue & """改成了""" & e.NewValue & """"
        Dim str As String
        str=  e.DataRow("合同编号")
        dr("合同编号") = "合同编号为:" & str
        dr("数据合成") =dr("用户") & "于" & dr("时间") & "将" & dr("合同编号") & "的" & dr("涉及列") & "由" & dr("操作")
    End If
End If

 

datarowadded事件

 

If e.DataTable.Name <> "合同操作日志" Then
    Dim dr As DataRow = DataTables("合同操作日志").AddNew
    dr("ID") = e.DataRow("_Identify")
    dr("用户") = _UserName
    dr("时间") = Date.Now
    dr("涉及列") = Nothing
    dr("操作") = "新增了"
    Dim str As String
    str= e.DataRow("合同编号")       这个值在是空的,为何?
    dr("合同编号") = "合同编号为:" & str
    dr("数据合成") =dr("用户") & "于" & dr("时间") & dr("操作") & dr("合同编号") & "的销售合同"
End If

 

 

[此贴子已经被作者于2015/8/26 19:57:09编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/26 20:00:00 [只看该作者]

1、你可以一新增就保存,不保存不出现在日志里面才是正确;

 

2、在 datacolchanged 事件,你可以对新增的行特殊处理,比如输入了合同号就保存,或者记录到日志


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


加好友 发短信
等级:三尾狐 帖子:633 积分:4016 威望:0 精华:0 注册:2015/1/27 9:34:00
  发帖心情 Post By:2015/8/26 20:00:00 [只看该作者]

是datatable与table之间的区别造成的吗?
[此贴子已经被作者于2015/8/26 20:00:10编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/26 20:02:00 [只看该作者]

看23楼,新增行的时候,合同号肯定没生成啊。

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


加好友 发短信
等级:三尾狐 帖子:633 积分:4016 威望:0 精华:0 注册:2015/1/27 9:34:00
  发帖心情 Post By:2015/8/26 20:10:00 [只看该作者]

以下是引用大红袍在2015/8/26 20:00:00的发言:

1、你可以一新增就保存,不保存不出现在日志里面才是正确;

 

2、在 datacolchanged 事件,你可以对新增的行特殊处理,比如输入了合同号就保存,或者记录到日志

红袍兄:你可能还是没有明白我的意图,比如:新增一行合同,然后填写合同的全部内容。如果按照之前你给的代码执行的话,那么在日志中除了新增的那条日志之外,还有很多修改的日志,既然是新增,按照我的用意,就不应该出现修改,除非我保存了该条记录,再进行修改时,才能称之为修改操作。

 

那么,既然行状态=2时是这个情况,我就把行状态设置成4,日志表中就只记录了“新增”操作,无修改操作(即使我把新增合同的其他列内容填完),达到了之前的目的。但是我想在新增的这条操作中显示新增的合同编号是多少,但是就是无法显示,说明:

dr("合同编号") = "合同编号为:" & str

的取值是不成功的。

 

问题就是:怎么在新增行未保存的时候,能够取得这个合同编号


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/26 20:11:00 [只看该作者]

去编写datacolchanged事件,修改合同编号的时候新增一行记录。

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


加好友 发短信
等级:三尾狐 帖子:633 积分:4016 威望:0 精华:0 注册:2015/1/27 9:34:00
  发帖心情 Post By:2015/8/26 20:19:00 [只看该作者]

新增一行日志记录?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/26 20:20:00 [只看该作者]

是啊

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


加好友 发短信
等级:三尾狐 帖子:633 积分:4016 威望:0 精华:0 注册:2015/1/27 9:34:00
  发帖心情 Post By:2015/8/26 20:22:00 [只看该作者]

言外之意,我之前在一条记录中显示的想法无法实现?


 回到顶部
总数 41 上一页 1 2 3 4 5 下一页