我在父表(成本支出)的datacolchanged事件中加了如下代码:用于同步子表(成本支出明细)中的部分列,但下面的代码都不符合要求,请问老师该怎么改?
我只想同步新增加入子表的行。
' 以下代码只能同步子表中一行的数据!
Select Case e.DataCol.Name
Case "编号"
Dim dr As DataRow = DataTables("成本支出明细").Find("编号 = '" & e.OldValue & "'")
If dr Is Nothing Then
dr = DataTables("成本支出明细").AddNew(4)
dr("项目名称") = e.DataRow("项目名称")
dr("日期") = e.DataRow("日期")
dr("报表类型") = e.DataRow("报表类型")
dr("第几周") = e.DataRow("第几周")
Else
dr("编号") = e.DataRow("编号")
End If
Case "项目名称","日期","报表类型","第几周"
Dim dr As DataRow = DataTables("成本支出明细").Find("编号 = '" & e.DataRow("编号") & "'")
If dr IsNot Nothing Then
dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
End If
End Select
' 以下代码是同步子表所有行的数据
Select Case e.DataCol.Name
Case "项目名称"
Dim dr As DataRow = DataTables("成本支出明细").Find("编号 = '" & e.DataRow("编号") & "'")
For Each dc As DataRow In DataTables("成本支出明细").DataRows
dc("项目名称") = e.DataRow("项目名称")
Next
Case "日期"
Dim dr As DataRow = DataTables("成本支出明细").Find("编号 = '" & e.DataRow("编号") & "'")
For Each dc As DataRow In DataTables("成本支出明细").DataRows
dc("日期") = e.DataRow("日期")
Next
Case "报表类型"
Dim dr As DataRow = DataTables("成本支出明细").Find("编号 = '" & e.DataRow("编号") & "'")
For Each dc As DataRow In DataTables("成本支出明细").DataRows
dc("报表类型") = e.DataRow("报表类型")
Next
Case "第几周"
Dim dr As DataRow = DataTables("成本支出明细").Find("编号 = '" & e.DataRow("编号") & "'")
For Each dc As DataRow In DataTables("成本支出明细").DataRows
dc("第几周") = e.DataRow("第几周")
Next
End Select
' 以上两种代码都不符合要求!我