以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请帮看一下代码哪里有错?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=26489)

--  作者:kmzb56
--  发布时间:2012/12/6 9:49:00
--  请帮看一下代码哪里有错?
 代码能通过,但是就是执行不了,承运人结算那列不能算出值:

Dim dr As DataRow = e.DataRow 
Select Case e.DataCol.Name 
    Case "订金方式","运价描述","运价","承运人应结算"
    If dr("订金方式")="信息费" Then
      Select Case "运价描述" 
      Case "每吨"
         dr("承运人应结算")=dr("重量")*dr("运价")
      Case "每车"
         dr("承运人应结算")=dr("运价")
      End Select
    End If 
End Select



--  作者:狐狸爸爸
--  发布时间:2012/12/6 9:52:00
--  

代码没问题,你要么列名错了,要么"运价描述"、"每吨"、"每车"错了。

搞不定就做个简单例子发上来。


--  作者:lin_hailun
--  发布时间:2012/12/6 9:53:00
--  
 我纳闷你那个中文字符的逗号怎么写得进去的。

 代码逻辑没有错,看是否列名等写错了。

--  作者:kmzb56
--  发布时间:2012/12/6 10:13:00
--  
请再看一下,我看了,列名和运价描述都没有错。
--  作者:lin_hailun
--  发布时间:2012/12/6 10:19:00
--  

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "订金方式","运价描述","运价","承运人应结算"
        If dr("订金方式")="信息费" Then
            Select Case dr("运价描述")
                Case "每吨"
                    dr("承运人应结算")=dr("重量")*dr("运价")
                Case "每车"
                    dr("承运人应结算")=dr("运价")
            End Select
        End If
End Select

--  作者:blackzhu
--  发布时间:2012/12/6 10:28:00
--  
列名没有错 那就是数据不存在吧!
--  作者:kmzb56
--  发布时间:2012/12/6 10:55:00
--  
对了,用这种方法对的,谢谢!有些程序的运用理解有错,所以细节没把握好。