Select Case e.DataCol.Name
Case "出入库数量"
MessageBox.Show(1)
'自动计算余数
Dim dr As DataRow
Dim mr As DataRow = e.DataRow
Dim drs As List(of DataRow)
dr = e.DataTable.Find("[_SortKey] <= #" & mr("_SortKey") & "# And [物料编号] = '" & mr("物料编号") & "'", "_SortKey desc")
If dr Is Nothing OrElse dr("_Identify") = mr("_Identify") Then
mr("余数") = mr("入库数量") + mr("出库数量")
dr = mr
End If
drs = e.DataTable.Select("[_SortKey] >= #" & dr("_SortKey") & "# And [物料编号] = '" & dr("物料编号") & "'", "_SortKey")
For i As Integer = 1 To drs.Count - 1
drs(i)("余数") = drs(i-1)("余数") + drs(i)("入库数量") + drs(i)("出库数量")
Next
If e.DataCol.Name = "物料编号" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
dr = e.DataTable.Find("[_SortKey] <= #" & mr("_SortKey") & "# And [物料编号] = '" & e.OldValue & "'", "_SortKey desc")
If dr Is Nothing Then
dr = e.DataTable.Find("[物料编号] = '" & e.OldValue & "'", "_SortKey")
If dr IsNot Nothing Then
dr("余数") = dr("入库数量") + dr("出库数量")
End If
End If
If dr IsNot Nothing Then
drs = e.DataTable.Select("[_SortKey] >= #" & dr("_SortKey") & "# And [物料编号] = '" & dr("物料编号") & "'", "_SortKey")
For i As Integer = 1 To drs.Count - 1
drs(i)("余数") = drs(i-1)("余数") + drs(i)("入库数量") + drs(i)("出库数量")
Next
End If
End If
End Select
afteropenproject 里面的代码改好了,不会出现1楼的警告了,但是又出现另外一个警告了(如下所示):
.NET Framework 版本:4.0.30319.34209
Foxtable 版本:2020.5.29.8
错误所在事件:表,出入库, DataColChanged
详细错误信息:
调用的目标发生了异常。
该字符串未被识别为有效的 DateTime。
上面是“出入库”这个数据表的部分代码,我放置了 MessageBox.Show(1),所以老是出现“1”。但是,我不知道问题的原因是什么。