Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
Select Case e.DataCol.Name
Case "Y"
With CurrentTable
Dim r As Date = Date.Today
If e.DataRow("Y") IsNot Nothing Then
.Current("Z")=r.AddDays(7)
End If
End With
End Select
请指点以上代码,感谢!!
Select Case e.DataCol.Name
Case "Y"
With CurrentTable
Dim r As Date = Date.Today
If e.DataRow.IsNull("Y") = False Then
.Current("Z")=r.AddDays(7)
End If
End With
End Select
参考:
http://www.foxtable.com/help/topics/1470.htm
表达式列的特殊性
我们知道,列的值发生变化,会相继触发DataColChanging和DataColChanged事件。
但是有一个例外: 表达式列的值发生变化时,并不会触发这两个事件。
假定C列是一个表达式列,根据A列和B列的值计算得出,而D列的值则根据C列的值用代码计算得出。
通常我们会这样编写DataColChanged事件的代码:
Select Case e.DataCol.Name
Case
"C"
'计算D列的代码
End Select
但是上述代码是无效的,因为作为表达式列,C列发生变化的时候,并不会触发DataColChanged事件。
我们可以换个思路,既然C列是有A列和B列计算得出,那么C列发生变化,肯定是因为A列或B列发生变化引起的。
所以正确的代码是:
Select Case e.DataCol.Name
Case "A" ,"B"
'计算D列的代码
End
Select