以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码计算  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88431)

--  作者:yifan3429
--  发布时间:2016/8/2 21:01:00
--  代码计算
If e.DataCol.Name = "单位" Then
    If e.DataRow("单位") ="立方"  Then
        e.DataRow("小计") = e.DataRow("长") * e.DataRow("宽")*e.DataRow("厚")*0.000000001 * e.DataRow("数量")  
  ElseIf e.DataRow("单位") ="平方"  Then
        e.DataRow("小计") = e.DataRow("长") * e.DataRow("宽")*0.000001*e.DataRow("数量")    
    ElseIf e.DataRow("单位") ="四面套"  Then
        e.DataRow("小计") = (e.DataRow("长") *2 )+ (e.DataRow("宽") * 2)*0.001*e.DataRow("数量")    
    ElseIf e.DataRow("单位") ="三面套"  Then
        e.DataRow("小计") = e.DataRow("长") + (e.DataRow("宽") * 2)*0.001*e.DataRow("数量")    
    ElseIf e.DataRow("单位") = "件" Then
        e.DataRow("小计") = e.DataRow("单价")*e.DataRow("数量")    
ElseIf e.DataRow("单位") = "套" Then
        e.DataRow("小计") = e.DataRow("单价")*e.DataRow("数量")    
    End If
End If

上面的代码 在输入 长  宽  厚  数量   后在调整单位会精确地计算   

但是后期调整 长  宽  厚  数量  等数据时 计算不会变化


Select e.DataCol.name
    Case "长","宽","厚" ,"数量"
        If e.DataCol.Name = "单位" Then
            If e.DataRow("单位") ="立方"  Then
                e.DataRow("小计") = e.DataRow("长") * e.DataRow("宽")*e.DataRow("厚")*0.000000001 * e.DataRow("数量")
            ElseIf e.DataRow("单位") ="平方"  Then
                e.DataRow("小计") = e.DataRow("长") * e.DataRow("宽")*0.000001*e.DataRow("数量")
            ElseIf e.DataRow("单位") ="四面套"  Then
                e.DataRow("小计") = (e.DataRow("长") *2 )+ (e.DataRow("宽") * 2)*0.001*e.DataRow("数量")
            ElseIf e.DataRow("单位") ="三面套"  Then
                e.DataRow("小计") = e.DataRow("长") + (e.DataRow("宽") * 2)*0.001*e.DataRow("数量")
            ElseIf e.DataRow("单位") = "件" Then
                e.DataRow("小计") = e.DataRow("单价")*e.DataRow("数量")
            ElseIf e.DataRow("单位") = "套" Then
                e.DataRow("小计") = e.DataRow("单价")*e.DataRow("数量")
            End If
        End If
End Select

如何让  长  宽  厚  数量 在后期变化后重新计算

请教  刷新的代码
[此贴子已经被作者于2016/8/2 22:42:05编辑过]

--  作者:狐狸爸爸
--  发布时间:2016/8/3 8:28:00
--  
Select e.DataCol.name
    Case "长","宽","厚" ,"数量"
            If e.DataRow("单位") ="立方"  Then
                e.DataRow("小计") = e.DataRow("长") * e.DataRow("宽")*e.DataRow("厚")*0.000000001 * e.DataRow("数量")
            ElseIf e.DataRow("单位") ="平方"  Then
                e.DataRow("小计") = e.DataRow("长") * e.DataRow("宽")*0.000001*e.DataRow("数量")
            ElseIf e.DataRow("单位") ="四面套"  Then
                e.DataRow("小计") = (e.DataRow("长") *2 )+ (e.DataRow("宽") * 2)*0.001*e.DataRow("数量")
            ElseIf e.DataRow("单位") ="三面套"  Then
                e.DataRow("小计") = e.DataRow("长") + (e.DataRow("宽") * 2)*0.001*e.DataRow("数量")
            ElseIf e.DataRow("单位") = "件" Then
                e.DataRow("小计") = e.DataRow("单价")*e.DataRow("数量")
            ElseIf e.DataRow("单位") = "套" Then
                e.DataRow("小计") = e.DataRow("单价")*e.DataRow("数量")
            End If
End Select