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 ) End If
此主题相关图片如下:截图.jpg For Each dr As DataRow In DataTables("职工基本信息") Dim tp As TimeSpan = Date.today - CDate(dr("入职时间")) dr("入职天数") = Math.Round(tp.TotalDays ) Next
以上代码可能要修改,没有通过。
-- 作者:lsy
-- 发布时间:2013/8/7 7:28:00
--
For Each dr As DataRow In DataTables("职工基本信息") Dim tp As TimeSpan = Date.today - CDate(dr("入职时间")) dr("入职天数") = Math.Round(tp.TotalDays ) Next
上面的代码,你原来是放在DataColChanged事件中,怎么挪个地方了?
有了这段代码,下面的代码才有作用:
只是在查看数据表时想看到最新天数:
1、打开数据表,选中入职时间列,点击重置列菜单按钮;
2、在MainTableChanged事件中:
If MainTable.Name = "XX数据表" Then Tables("XX数据表").Cols("入职时间").DataCol.RaiseDataColChanged() End If