Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
Case "施工单位_本期完成造价","支付比例","施工单位_应抵扣款项"
dr("施工单位_本期进度款") = IIF(dr("支付比例") > 0,dr("施工单位_本期完成造价") * dr("支付比例"),dr("施工单位_本期完成造价"))
dr("施工单位_应付进度款") = dr("施工单位_本期进度款") - dr("施工单位_应抵扣款项")
Case "监理单位_本期完成造价","支付比例","监理单位_应抵扣款项"
dr("监理单位_本期进度款") = IIF(dr("支付比例") > 0,dr("监理单位_本期完成造价") * dr("支付比例"),dr("监理单位_本期完成造价"))
dr("监理单位_应付进度款") = dr("监理单位_本期进度款") - dr("监理单位_应抵扣款项")
Case "造价单位_本期完成造价","支付比例","造价单位_应抵扣款项"
dr("造价单位_应付进度款") = IIF(dr("支付比例") > 0,dr("造价单位_本期完成造价") * dr("支付比例"),dr("造价单位_本期完成造价"))
dr("造价单位_应付进度款") = dr("造价单位_本期进度款") - dr("造价单位_应抵扣款项")
End Select
''=============累计计算================
Dim fdr As DataRow = DataTables("项目信息").Find("项目编号 = '" & dr("项目编号") & "'")
If fdr IsNot Nothing Then
If fdr.IsNull("核准单位") = False Then
Dim zj1 As String = fdr("核准单位") & "_本期完成造价"
Dim zj2 As String = fdr("核准单位") & "_本期进度款"
Dim zj3 As String = fdr("核准单位") & "_应抵扣款项"
Dim zj4 As String = fdr("核准单位") & "_应付进度款"
Select Case e.DataCol.Name
Case zj1,zj2,zj3,zj4
systemready = False
Dim drs As List(of DataRow) = e.DataTable.Select("", "项目编号,[_Identify]") '注意排序参数
drs(0)("累计完成_工程造价") = drs(0)(zj1) '设置第一行的累计支出
For i As Integer = 1 To drs.Count - 1 '从第二行开始逐行计算累计支出
If drs(i)("项目编号") = drs(i - 1)("项目编号") Then
drs(i)("累计完成_工程造价") = drs(i - 1)("累计完成_工程造价") + drs(i)(zj1)
Else
drs(i)("累计完成_工程造价") = drs(i)(zj1)
End If
Next
drs(0)("累计完成_应抵扣款项") = drs(0)(zj3) '设置第一行的累计支出
For i As Integer = 1 To drs.Count - 1 '从第二行开始逐行计算累计支出
If drs(i)("项目编号") = drs(i - 1)("项目编号") Then
drs(i)("累计完成_应抵扣款项") = drs(i - 1)("累计完成_应抵扣款项") + drs(i)(zj3)
Else
drs(i)("累计完成_应抵扣款项") = drs(i)(zj3)
End If
Next
drs(0)("累计完成_工程进度款") = drs(0)(zj2) '设置第一行的累计支出
For i As Integer = 1 To drs.Count - 1 '从第二行开始逐行计算累计支出
If drs(i)("项目编号") = drs(i - 1)("项目编号") Then
drs(i)("累计完成_工程进度款") = drs(i - 1)("累计完成_工程进度款") + drs(i)(zj2)
Else
drs(i)("累计完成_工程进度款") = drs(i)(zj2)
End If
Next
drs(0)("累计完成_实付进度款") = drs(0)(zj4) '设置第一行的累计支出
For i As Integer = 1 To drs.Count - 1 '从第二行开始逐行计算累计支出
If drs(i)("项目编号") = drs(i - 1)("项目编号") Then
drs(i)("累计完成_实付进度款") = drs(i - 1)("累计完成_实付进度款") + drs(i)(zj4)
Else
drs(i)("累计完成_实付进度款") = drs(i)(zj4)
End If
Next
systemready = True
End Select
Else
MessageBox.Show("请选择在""项目信息""表中的核准单位名称!")
End If
End If