1、你datacolchanged事件,是根据列【成本大类】统计预算表数据的,你修改科目名称不会影响统计,你修改【成本大类】列才会影响统计;
2、如果是【之前统计的数据不清空】的问题,代码改成
Select Case e.DataCol.Name
Case "月份","部门名称"
Dim dr As DataRow = e.DataRow
If dr.IsNull("月份") OrElse dr.IsNull("部门名称") Then
dr("公关招待成本") = Nothing
Else
Dim filter As String
filter = "月份 = '" & dr("月份") & "' And 部门名称 = '" & dr("部门名称") & "' and [成本大类]='公关招待成本'"
e.DataRow("公关招待成本") = DataTables("同期预算").Compute("Sum(预算金额)",filter)
End If
If dr.IsNull("月份") OrElse dr.IsNull("部门名称") Then
dr("其他营运成本") = Nothing
Else
Dim filter As String
filter = "月份 = '" & dr("月份") & "' And 部门名称 = '" & dr("部门名称") & "' and [成本大类]='其他营运成本'"
e.DataRow("其他营运成本") = DataTables("同期预算").Compute("Sum(预算金额)",filter)
End If
If dr.IsNull("月份") OrElse dr.IsNull("部门名称") Then
dr("资金利息成本") = Nothing
Else
Dim filter As String
filter = "月份 = '" & dr("月份") & "' And 部门名称 = '" & dr("部门名称") & "' and [成本大类]='资金利息成本'"
e.DataRow("资金利息成本") = DataTables("同期预算").Compute("Sum(预算金额)",filter)
End If
End Select