已知:“入库表”与“客户表”,关于“客户”列建立了关联,现在“客户表”的DataColChanged事件中写入以下代码:
If e.DataCol.name = "用户名" Or e.DataCol.name = "编辑者" Then
Return
Else
'表中任意一列的行数据发生改变,则执行.
e.DataRow("用户名") = user.name
End If
'表中指定列的行数据发生改变,则执行.
Select Case e.DataCol.Name
Case "客户"
e.DataRow("日志时间") = Date.Now
End Select
Dim d As Date = Date.Now
DataTables("客户表").ReplaceFor("日志", True, "日志时间 <= #" & d.AddMinutes(-2) & "#")
DataTables("客户表").ReplaceFor("日志", False, "日志时间 > #" & d.AddMinutes(-2) & "#")
'没做天数:
If e.DataCol.name = "客户" Then
If e.DataRow.IsNull("客户") Then
e.DataRow("没做天数") = Nothing
Else
Dim fdr = DataTables("入库表").find("客户='" & e.DataRow("客户") & "' and 入库日期 <= #" & Date.now & "#", "入库日期 desc")
If fdr Is Nothing Then
e.DataRow("没做天数") = -1
Else
Dim sp As TimeSpan = Date.now - cdate(fdr("入库日期"))
e.DataRow("没做天数") = sp.TotalDays
End If
End If
End If
需求:
刷新每个客户最新一笔入库日期,至今的日期差,即“没做天数”。
本人现在的做法:
新建一个控件按钮,代码如下:
'没做天数:
DataTables("客户表").datacols("客户").RaiseDataColChanged()
问题:
这样子刷新,每次都会等待很长一段时间,求帮助?