测试良久,发觉必须改成如下方能正常。不知其原因
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
Case "规格", "单次用量", "单价"
Dim b1 As Boolean = ((dr("单次用量")*10) Mod (dr("规格")*10) <> 0)
Dim b2 As Boolean = ((dr("单次用量")*10) Mod (dr("规格")*10) = 0)
If dr.Isnull("规格") OrElse dr.Isnull("单次用量") Then
dr("数量") = Nothing
dr("金额") = Nothing
ElseIf dr("单次用量") / dr("规格") <= 1 Then
dr("数量") = 1
ElseIf dr("单次用量") / dr("规格") > 1 AndAlso b1
dr("数量") = (dr("单次用量") * 10) \ (dr("规格") * 10) + 1
ElseIf b2
dr("数量") = (dr("单次用量") * 10) \ (dr("规格") * 10)
End If
End Select
dr("金额") = dr("单价") * dr("数量") * dr("频次") * dr("天数")