以文本方式查看主题

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

--  作者:foxstudent
--  发布时间:2012/1/14 15:01:00
--  代码不计算

有“合同价、预收费、剩余费、到账”列,如果未到账,剩余费=合同价-预收费,如果已到账,剩余费=0,下面的代码当到账为true时,不执行运算?

 

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "合同价","剩余费","预收费"
        If dr("到账")=False Then
           dr("剩余费") = dr("合同价")-dr("预收费")

else 
       
    dr("剩余费")  = 0

     End If
End Select

[此贴子已经被作者于2012-1-14 15:03:14编辑过]

--  作者:czy
--  发布时间:2012/1/14 15:05:00
--  

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "合同价","到账","预收费"
        If dr("到账")=False Then
           dr("剩余费") = dr("合同价")-dr("预收费")
       End If

          dr("剩余费")  = 0
End Select


--  作者:foxstudent
--  发布时间:2012/1/14 15:18:00
--  
以下是引用czy在2012-1-14 15:05:00的发言:

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "合同价","到账","预收费"
        If dr("到账")=False Then
           dr("剩余费") = dr("合同价")-dr("预收费")
       End If

          dr("剩余费")  = 0
End Select

 

谢谢C版,不过按照你的代码,如果取消了到账,剩余费不会重新计算,重置到账列出现退出程序,下面的写法可以了

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "合同价","到账","预收费","剩余费"
        If dr("到账")=False Then
           dr("剩余费") = dr("合同价")-dr("预收费")
        Else   dr("剩余费")  = 0
 End If
End Select


--  作者:blackzhu
--  发布时间:2012/1/14 15:32:00
--  

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "合同价","到账","预收费"
        If dr("到账")=False Then
           dr("剩余费") = dr("合同价")-dr("预收费")
       End If    \'改为Else

          dr("剩余费")  = 0
End Select

 

  C版笔误


--  作者:foxstudent
--  发布时间:2012/1/14 15:55:00
--  
以下是引用blackzhu在2012-1-14 15:32:00的发言:

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "合同价","到账","预收费"
        If dr("到账")=False Then
           dr("剩余费") = dr("合同价")-dr("预收费")
       End If    \'改为Else

          dr("剩余费")  = 0
End Select

 

  C版笔误

 

B版也笔误,少了个  end if图片点击可在新窗口打开查看