以下是引用blackzhu在2008-9-11 22:03:00的发言:
我想问一下,如果变化的不是日期列,而是其他的什么任意列,但我要达到这样的效果,应该怎么写?我跟着你的代码修改过,但做不出了。
If e.DataCol.Name = "日期" And e.Datarow.IsNull("日期") = False Then
意思是 如果 数据改变事件.所在的列.的名称 是 "日期" 并且 数据改变事件.所在的行.日期列不为空值 那么 ……
因此其他任意列的代码就是:
If e.DataCol.Name = "改变列的列名" Then
以下是引用blackzhu在2008-9-12 12:30:00的发言:
我可能太笨了,代码实在有一点不懂。如我在表达式中:字段IO为空值的时候,日期列为空值,否则返回当天的日期。这一个表达式怎么写,计算代码怎么写?
这个不能写成表达式列,只能用数据列通过计算代码计算。(用表达式列会把所有记录的日期变成today)
DataColChanged 事件代码
If e.DataCol.Name = "IO" Then '如果数据改变列是 IO字段
If e.Datarow.IsNull("IO") Then '如果IO改变的结果是空值,即删除IO字段的值
e.Datarow("日期") = DBNull.Value '那么删除日期列的值
Else e.Datarow("日期") = Date.Today '否则,日期列为今天
End If
其实翻来覆去都是这几个代码,只要理解了就简单了