以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 高效流水账设计 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=159084) |
-- 作者:爱相随 -- 发布时间:2020/12/13 14:08:00 -- 高效流水账设计 老师,下面代码是流水账设计,当条件只有订单编号时运行代码就没问题 ,加入产品编码条件后就提示如下错误信息: .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
|
-- 作者:有点蓝 -- 发布时间:2020/12/13 20:51:00 -- Dim drs As List(of DataRow) dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [订单编号] = \'" & mr("订单编号") & "\' And [产品编码] = \'" & mr("产品编码") & "\'", "[_SortKey] Desc") drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [订单编号] = \'" & dr("订单编号") & "\' And [产品编码] = \'" & dr("产品编码") & "\'", "[_SortKey]")
|
-- 作者:爱相随 -- 发布时间:2020/12/13 23:15:00 -- 谢谢老师不辞辛苦的回复,真的感谢!! |
-- 作者:爱相随 -- 发布时间:2020/12/13 23:17:00 -- 不过又提示以下错误(其他代码比照老师的逻辑做了修改也提示这个错误): .NET Framework 版本:2.0.50727.8806 Foxtable 版本:2017.10.26.1 错误所在事件:表,收款明细表, DataColChanged 详细错误信息: 调用的目标发生了异常。 从字符串“产品编码”到类型“Boolean”的转换无效。 输入字符串的格式不正确。 |
-- 作者:有点蓝 -- 发布时间:2020/12/13 23:25:00 -- 先看几遍:http://www.foxtable.com/webhelp/topics/1284.htm 其他地方参考2楼的方式改正
|
-- 作者:爱相随 -- 发布时间:2020/12/26 23:12:00 -- 老师,看不懂这个错误原因,知道事件所在地方,但看不明白错误的原因. .NET Framework 版本:2.0.50727.3655 Foxtable 版本:2017.10.26.1 错误所在事件:表,客商科目明细表, DataColChanged 详细错误信息: Exception has been thrown by the target of an invocation. Conversion from string "客商编码" to type \'Boolean\' is not valid. Input string was not in a correct format.
[此贴子已经被作者于2020/12/26 23:13:01编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/12/27 20:47:00 -- 从字符串“客商编码”到类型“Boolean”的转换无效。 |