Foxtable(狐表)用户栏目专家坐堂 → 关于修改记录保存到列中


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

主题:关于修改记录保存到列中

帅哥,在线噢!
scofields
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:529 积分:4225 威望:0 精华:0 注册:2016/4/17 20:05:00
关于修改记录保存到列中  发帖心情 Post By:2017/8/17 23:02:00 [只看该作者]

老师,这段代码怎么修改?我想实现只要不是新增行,其他行的数据有变动,全部将原始值与变动值记录在Log列中

Dim dt As DataTable = DataTables("系统初始化")
For Each dr As DataRow In dt.DataRows
    If dr.RowState = DataRowState.Added Then
         e.DataRow("区域报表系统初始化_Log") = ""
Else
     e.DataRow("区域报表系统初始化_Log") &= vbcrlf & Date.now & " " & user.name & " 把【" & e.DataCol.Name & "】从'" & e.OldValue & "'修改成 '" & e.NewValue & "'"
    End If
Next

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/17 23:15:00 [只看该作者]

DataColChanged事件

 

If e.datarow.RowState = DataRowState.Added Then
    e.DataRow("区域报表系统初始化_Log") = ""
Else
    e.DataRow("区域报表系统初始化_Log") &= vbcrlf & Date.now & " " & user.name & " 把【" & e.DataCol.Name & "】从'" & e.OldValue & "'修改成 '" & e.NewValue & "'"
End If


 回到顶部
帅哥,在线噢!
scofields
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:529 积分:4225 威望:0 精华:0 注册:2016/4/17 20:05:00
  发帖心情 Post By:2017/8/17 23:51:00 [只看该作者]

老师,出现了这个问题哦
.NET Framework 版本:2.0.50727.8689
Foxtable 版本:2017.8.18.1
错误所在事件:表,系统初始化,DataColChanged
详细错误信息:
调用的目标发生了异常。
引发类型为“System.OutOfMemoryException”的异常。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/18 8:41:00 [只看该作者]

 贴出你对应datacolchanged的事件代码。

 回到顶部
帅哥,在线噢!
scofields
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:529 积分:4225 威望:0 精华:0 注册:2016/4/17 20:05:00
  发帖心情 Post By:2017/8/18 10:01:00 [只看该作者]

If e.datarow.RowState = DataRowState.Added  andalso e.DataCol.name <> "区域报表系统初始化_Log" Then
    e.DataRow("区域报表系统初始化_Log") = ""
Else
    e.DataRow("区域报表系统初始化_Log") &= vbcrlf & Date.now & " " & user.name & " 把【" & e.DataCol.Name & "】从'" & e.OldValue & "'修改成 '" & e.NewValue & "'"
End If



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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/18 10:06:00 [只看该作者]

If e.DataCol.name <> "区域报表系统初始化_Log" Then
    If e.DataRow.RowState = DataRowState.Added Then
        e.DataRow("区域报表系统初始化_Log") = ""
    Else
        e.DataRow("区域报表系统初始化_Log") &= vbcrlf & Date.now & " " & user.name & " 把【" & e.DataCol.Name & "】从'" & e.OldValue & "'修改成 '" & e.NewValue & "'"
    End If
   
End If


 回到顶部