在《使用指南》中
[ 开发指南 / FoxTable编程 / 事件编程 / 事件实例 / 其他常见任务 / 年龄和工龄的精确计算 ] 这一小节中关于[方法一]的实例:
假定表中有两列,分别是入职日期和工龄,需要根据入职日期精确计算出工龄。
可以如下设置DataColChanged事件:
Select Case e.DataCol.name
Case "入职日期"
If e.DataRow.IsNull("入职日期") Then
e.DataRow("工龄") = Nothing
Else
Dim tp As TimeSpan = Date.today - CDate(e.DataRow("入职日期"))
e.DataRow("工龄") = Math.Round(tp.TotalDays / 365.2422,2)
End If
End Select
其中 Dim tp As TimeSpan
是否应改为 Dim tp As Date ?