以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于如何计算两列的值?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=11805)

--  作者:yacity
--  发布时间:2011/8/12 11:40:00
--  关于如何计算两列的值?

Select Case e.DataCol.Name
    Case "ruku"
        Dim val As  Double = e.DataRow("shuliang")
        If e.DataRow("ruku") = False Then
            val = -val
        End If
        Dim dr As DataRow = DataTables("GoodsStocks").find("ptypeid = \'" & e.DataRow("PtypeID") & "\'")
        If dr IsNot Nothing Then
            dr("Qty") = dr("Qty") + val
            dr("total") = dr("Qty") * dr("price")
        Else
            dr = DataTables("GoodsStocks").AddNew()
            dr("ptypeid")=e.DataRow("ptypeid")
            dr("KtypeId")="00001"
            dr("qty")=dr("qty")
            dr("price")=0
            dr("total")=0
            dr("GOODSORDERID")=0
        End If

        Case "shuliang"
        Dim dr As DataRow=e.DataRow("shuliang")
            dr("zonger") = dr("shuliang")*dr("price")
    

End Select

 

 

前面的代码运行正常 加入红色代码后 运行出错

我主要是想,在 编辑 shuliang 这一行的 时候  让他 自动计算 dr("zonger") = dr("shuliang")*dr("price")

如何 编写呢?

错误如下


 


图片点击可在新窗口打开查看此主题相关图片如下:103.jpg
图片点击可在新窗口打开查看

 

 

确切的说 我的 shuliang  和 price 是SQL 的数据,类型是 Deciml。

当 数据类型是 double  的时候 错误就如上图。

当 数据类型是  Deciml 的时候 就提示 System.Deciml.


 

[此贴子已经被作者于2011-8-12 11:44:51编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/8/12 11:42:00
--  

 Case "shuliang"
Dim dr As DataRow=e.DataRow("shuliang")
dr("zonger") = dr("shuliang")*dr("price")

 

改为:

 

Case "shuliang"
    Dim dr As DataRow=e.DataRow
    dr("zonger") = dr("shuliang")*dr("price")