Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
下载信息 [文件大小: 下载次数: ] | |
点击浏览该文件:管理项目1.table |
哈哈,厉害,C版就是高手!
如果不加e.DataCol.Name <> "操作记录" 判断的话,该列会永远被修改,从而陷入死循环。
还有个问题,在DataColChanged里好象是得不到原值的,估计要把这个代码放到DataColChanging里了。
还有个问题,在DataColChanged里好象是得不到原值的,估计要把这个代码放到DataColChanging里了。
没错,老六前不久说过,判断原值只能在DataColChanging事件中。
没错,老六前不久说过,判断原值只能在DataColChanging事件中。
OK,已经搞定。
多谢C版!
对楼主和c版的代码增加加一个 if.....end if 。 不然("操作记录") 列中每行因为【& Chr(13) & Chr(10) &】都有个‘小空行’(当然,就希望如此的话,就别加了~ 呵呵 )
Dim dr As DataRow = e.DataRow
if e.DataCol.Name <> "操作记录" Then
If dr.RowState <> DataRowState.Added '如果不是新增加的行
If dr("操作记录") = "" then
dr("操作记录") = date.Now & " 【" & User.Name & "】将 〖" & e.DataCol.Name & "〗中的 <" & dr(e.DataCol.Name) & "> 修改成了 <" & e.NewValue & ">"
else
dr("操作记录") = dr("操作记录") & Chr(13) & Chr(10) & date.Now & " 【" & User.Name & "】将 〖" & e.DataCol.Name & "〗中的 <" & dr(e.DataCol.Name) & "> 修改成了 <" & e.NewValue & ">"
End If
End If
End If
另外,操作记录 列是不是用一个 操作记录 表来替代更好(还可定期清理掉)。~ 这也有利于恢复到修改前的状况,且第一次保存前根本不需要记录的~ ······对不?
没错,老六前不久说过,判断原值只能在DataColChanging事件中。
请教 : 下面代码(原想放在datacolchanged里,但项目崩溃了)应该放在那个事件中,或代码要怎么改?
If e.DataCol.Name = "字母列" Then
Dim s1 As String = currenttable(CurrentTable.Position,"字母列")
currenttable(CurrentTable.Position,"字母列") = s1.ToUpper() ‘小写字母转成大写~
End If
ok! 谢谢啊~