呵呵 但是我的汇总表里面之前已经有现成的数据了,只是在某列统计数据,我也是在当前表的DataColChanged事件中设置代码的,但是要手工触发,因为其它数据没有变化。谢谢
czy感谢老6指教。我的数据是需要行都要进行统计,因为这个统计表内的项目是后面明细表所有项目包含的,那么多数据我也不知道哪些数据行需要统计哪些不需要统计,所以我不得不触发所有行统计。
(这个汇总表的列也比较多,有58列,里面大部分是公示列,只有11列公式无法计算,需要代码进行计算。)
这是
MainTableChanged内设置的:
If MainTable Is Nothing Then
Return
End If
If Maintable.Name = "工程量清单" Then
DataTables("工程量清单").DataCols("清单编号").RaiseDataColChanged()
End If
这是DataColChanged设置的:
dim nius as new list(of String)
Dim dr As DataRow = e.DataRow
nius= DataTables("台帐").GetUniqueValues("", "清单内容")
If e.DataCol.name="清单编号" then
For Each niu As String In nius
dr("田家屋场大桥_变更后数量")=DataTables("台帐").Compute("Sum(变更后数量)", "[清单内容] = '" & dr("清单编号") & "'" & "and [单位工程名称] = '田家屋场大桥'")
dr("向家梁子大桥_变更后数量")=DataTables("台帐").Compute("Sum(变更后数量)", "[清单内容] = '" & dr("清单编号") & "'" & "and [单位工程名称] = '向家梁子大桥'")
dr("牛王庙大桥_变更后数量")=DataTables("台帐").Compute("Sum(变更后数量)", "[清单内容] = '" & dr("清单编号") & "'" & "and [单位工程名称] = '牛王庙大桥'")
dr("易家屋场大桥_变更后数量")=DataTables("台帐").Compute("Sum(变更后数量)", "[清单内容] = '" & dr("清单编号") & "'" & "and [单位工程名称] = '易家屋场大桥'")
dr("月亮山大桥_变更后数量")=DataTables("台帐").Compute("Sum(变更后数量)", "[清单内容] = '" & dr("清单编号") & "'" & "and [单位工程名称] = '月亮山大桥'")
dr("K28540天桥_变更后数量")=DataTables("台帐").Compute("Sum(变更后数量)", "[清单内容] = '" & dr("清单编号") & "'" & "and [单位工程名称] = 'K28+540车行天桥'")
dr("K29360天桥_变更后数量")=DataTables("台帐").Compute("Sum(变更后数量)", "[清单内容] = '" & dr("清单编号") & "'" & "and [单位工程名称] = 'K29+360车行天桥'")
dr("K28312涵洞_变更后数量")=DataTables("台帐").Compute("Sum(变更后数量)", "[清单内容] = '" & dr("清单编号") & "'" & "and [单位工程名称] = 'K28+312钢筋砼盖板涵'")
dr("K28605涵洞_变更后数量")=DataTables("台帐").Compute("Sum(变更后数量)", "[清单内容] = '" & dr("清单编号") & "'" & "and [单位工程名称] = 'K28+605钢筋砼盖板涵'")
dr("K29580涵洞_变更后数量")=DataTables("台帐").Compute("Sum(变更后数量)", "[清单内容] = '" & dr("清单编号") & "'" & "and [单位工程名称] = 'K29+580钢筋砼盖板涵'")
dr("增减数量")=DataTables("台帐").Compute("Sum(增减数量)", "[清单内容] = '" & dr("清单编号") & "'" )
next
end if
[此贴子已经被作者于2009-4-2 13:50:06编辑过]