以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]输入字符串的格式不正确。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=45620)

--  作者:ppyaxf110
--  发布时间:2014/2/6 19:58:00
--  [求助]输入字符串的格式不正确。
If e.DataCol.Name = "产品名称" Then \'发生变化的是产品名称吗? \'在产品设置找出该产品
    Dim dr As DataRow 
    dr = DataTables("产品设置").Find("产品名称 = " & "\'" & e.DataRow("产品名称") & "\'" )
    If dr IsNot Nothing \'如果找到, 则设置各列内容
        e.DataRow("产品名称")= dr("产品名称")
        e.DataRow("出粉率")= dr("出粉率")
        e.DataRow("规格")= dr("规格")
        e.DataRow("类别")= dr("类别") 
        e.DataRow("产品编号")= dr("编号")
    End If
End If
Select Case e.DataCol.Name 
    Case "数量" 
 Dim dr As DataRow
dr = e.DataTable.Find("[_SortKey] < " & e.DataRow("_SortKey"), "[_SortKey] Desc") \'找出上一行
        If dr Is Nothing Then \'如果没有找到上一行,说明本行就是第一行
            e.DataRow("总重量") = e.DataRow("规格") * e.DataRow("数量")
            dr = e.DataRow
        End If
        Dim drs As List(of DataRow)
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey"), "[_SortKey]")
        For i As Integer = 1 To drs.Count - 1 \'重算余下行的总重量
            drs(i)("总重量") = drs(i)("规格") * drs(i)("数量")
        Next    
NET Framework 版本:2.0.50727.5472
Foxtable 版本:2013.10.14.1
错误所在事件:表,产品入库,DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“”到类型“Double”的转换无效。
输入字符串的格式不正确。


--  作者:y2287958
--  发布时间:2014/2/6 20:36:00
--  
检查“e.DataRow("规格") * e.DataRow("数量")或drs(i)("规格") * drs(i)("数量")“的结果是否整数
--  作者:Bin
--  发布时间:2014/2/7 8:34:00
--  
建议您用这个方法:
http://www.foxtable.com/help/topics/1485.htm

先找出是哪一行出错,然后分析原因,搞不定,贴出代码,并告诉我们运行到哪一行出错,以及错误提示。

--  作者:ppyaxf110
--  发布时间:2014/2/7 15:42:00
--  
好的,问题解决了多谢