如果你采用了关联,而且通过这三列关联的,那么下面的代码是不需要的:
Select Case e.DataCol.Name
Case "材料分类","材料名称","型号规格"
Dim crs As List(of DataRow) = e.DataRow.GetChildRows("用料")
For Each cr As DataRow In crs
cr("单价") = e.DataRow("单价")
Next
End Select
因为子表关联列会自动更新,只有单价才需要啊:
Select Case e.DataCol.Name
Case "单价"
Dim crs As List(of DataRow) = e.DataRow.GetChildRows("用料")
For Each cr As DataRow In crs
cr("单价") = e.DataRow("单价")
Next
End Select
不管有多少个单价这样的子表列需要更新,都只需同样的代码,例如子表A、B、C、D四列需要从父表继承:
Select Case e.DataCol.Name
Case "a","b","c","d"
Dim crs As List(of DataRow) = e.DataRow.GetChildRows("用料")
For Each cr As DataRow In crs
cr(e.DataCol.name) = e.DataRow(e.DataCol.Name)
Next
End Select