那要把所变化的值 都写上 代码很长 Select Case e.DataCol.Name
Case "产品编码","颜色","分类编码","金额","仓库"
Dim filter As String = "产品编码 ='" & e.DataRow("产品编码") & "' And 颜色 ='" & e.DataRow("颜色") & "'And 仓库 ='" & e.DataRow("仓库") & "'"
If e.DataRow.IsNull("产品编码") = False AndAlso e.DataRow.IsNull("颜色") = False AndAlso e.DataRow.IsNull("仓库") = False Then
Dim dr1 As DataRow
dr1 = DataTables("库存表").Find(filter)
If dr1 IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
dr1("金额") =dr1("金额")+ e.DataTable.Compute("sum(金额)", filter)
Else
Dim dr As DataRow = DataTables("库存表").AddNew()
dr("产品编码")=e.DataRow("产品编码")
dr("产品名称")=e.DataRow("产品名称")
dr("分类名称")=e.DataRow("分类名称")
dr("分类编码")=e.DataRow("分类编码")
dr("分类名称")=e.DataRow("分类名称")
dr("颜色")=e.DataRow("颜色")
dr("仓库")=e.DataRow("仓库")
dr("金额") = e.DataTable.Compute("sum(金额)", filter)
End If
End If
End Select
那就要分开写了