老师,下面代码是流水账设计,当条件只有订单编号时运行代码就没问题 ,加入产品编码条件后就提示如下错误信息:
.NET Framework 版本:2.0.50727.8806
Foxtable 版本:2017.10.26.1
错误所在事件:表,收款明细表, DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“[_SortKey] Desc”到类型“Integer”的转换无效。
输入字符串的格式不正确。
下面是事件代码:
Select Case e.DataCol.Name
Case "已收金额","本次收款金额","订单编号","产品编码"
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 And [产品编码] = '" & mr("产品编码") & "'", "[_SortKey] Desc")
If dr Is Nothing Then
mr("已收金额") = 0
dr = mr
End If
drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [订单编号] = '" & dr("订单编号") & "'", "[_SortKey] And [产品编码] = '" & dr("产品编码") & "'", "[_SortKey]")
For i As Integer = 1 To drs.Count - 1
drs(i)("已收金额") = drs(i-1)("本次收款金额") + drs(i-1)("已收金额")
Next
If e.DataCol.Name = "订单编号" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue And "产品编码" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [订单编号] = '" & e.OldValue & "'", "[_SortKey] Desc And [产品编码] = '" & e.OldValue & "'", "[_SortKey] Desc")
If dr Is Nothing Then
dr = e.DataTable.Find("[订单编号] = '" & e.OldValue & "'", "[_SortKey] and [产品编码] = '" & e.OldValue & "'", "[_SortKey]")
If dr IsNot Nothing Then
dr("已收金额") = 0
End If
End If
If dr IsNot Nothing Then
drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [订单编号] = '" & dr("订单编号") & "'", "[_SortKey] And [产品编码] = '" & dr("产品编码") & "'", "[_SortKey]")
For i As Integer = 1 To drs.Count - 1
drs(i)("已收金额") = drs(i-1)("已收金额") + drs(i-1)("本次收款金额")
Next
End If
End If
End Select