'某一列的内容被更改后执行,此时列的内容已经是更改后的值
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
'门超尺加价
Case "洞高","洞宽","产品分类","产品名称"
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "SELECT 超高参考值 F ROM [test].[dbo].[XS_门超尺加价] where 材质类型='" & dr("产品分类") & "' "
dr("超高参考值") = cmd.ExecuteScalar()
Dim cmd1 As New SQLCommand
cmd1.C
cmd1.CommandText = "SELECT 超宽参考值 F ROM [test].[dbo].[XS_门超尺加价] where 材质类型='" & dr("产品分类") & "' "
dr("超宽参考值") = cmd1.ExecuteScalar()
Dim cmd2 As New SQLCommand
cmd2.C
cmd2.CommandText = "SELECT 超高加减费用 F ROM [test].[dbo].[XS_门超尺加价] where 材质类型='" & dr("产品分类") & "' "
dr("超高加减费用") = cmd2.ExecuteScalar()
Dim cmd3 As New SQLCommand
cmd3.C
cmd3.CommandText = "SELECT 超宽加减费用 F ROM [test].[dbo].[XS_门超尺加价] where 材质类型='" & dr("产品分类") & "' "
dr("超宽加减费用") = cmd3.ExecuteScalar()
Dim cmd4 As New SQLCommand
cmd4.C
cmd4.CommandText = "SELECT 加减费递增尺寸 F ROM [test].[dbo].[XS_门超尺加价] where 材质类型='" & dr("产品分类") & "' "
dr("加减费递增尺寸") = cmd4.ExecuteScalar()
Dim Val As Double= (dr("洞高")-dr("超高参考值"))/dr("加减费递增尺寸")
Dim Lng As Long = Math.Ceiling(Val)
Dim Val1 As Double= (dr("洞宽")-dr("超宽参考值"))/dr("加减费递增尺寸")
Dim Lng1 As Long = Math.Ceiling(Val1)
If dr("产品名称") like "木门" And dr("洞高")-dr("超高参考值") > 0 Or dr("洞宽")-dr("超宽参考值") > 0 then
If dr.IsNull("产品分类") = false AndAlso dr.IsNull("产品名称")=False AndAlso dr.IsNull("洞高")=False AndAlso dr.IsNull("洞宽")=False then
dr.Save() '必须保存一下
If dr("产品分类") like "*复合*" Then
dr("门超尺加价") = (lng * dr("超高加减费用")) + (lng1 * dr("超宽加减费用"))
dr.Save() '必须保存一下
End If
If dr("产品分类") like "*实木*" Then
dr("门超尺加价") = (lng * dr("超高加减费用")) + (lng1 * dr("超宽加减费用"))
dr.Save() '必须保存一下
End If
If dr("产品分类") like "*原木*" Then
dr("门超尺加价") = (lng * dr("超高加减费用")) + (lng1 * dr("超宽加减费用"))
dr.Save() '必须保存一下
End If
End If
Else
dr("门超尺加价") = Nothing
dr.Save() '必须保存一下
End If
End Select