"多种"这个我测试没有问题。
“派料支数”是因为会在datacolchanged调用台账的重置列功能
Dim dr2 As DataRow = e.DataRow
Select Case e.DataCol.Name
Case "实发支数_1","实发支数_2","实发支数_3","派料支数","处置_代用_数量"
If dr2.IsNull("派料支数") AndAlso dr2.IsNull("实发支数_1") AndAlso dr2.IsNull("实发支数_2") AndAlso dr2.IsNull("实发支数_3") AndAlso dr2.IsNull("处置_代用_数量") Then '如果数量或单价为空
dr2("未发数量") = Nothing
Else
dr2("未发数量") = dr2("派料支数") - dr2("实发支数_1")- dr2("实发支数_2")- dr2("实发支数_3")-dr2("处置_代用_数量")
End If
Case "未发数量","U8出库","处置_重派"
Dim dr1 As DataRow = DataTables("角钢进料台账").Find("[进料表编号] = '" & e.DataRow("进料表编号") & "'")
If dr1 IsNot Nothing Then
DataTables("角钢进料台账").DataCols("进料表编号").RaiseDataColChanged(dr1)
End If
End Select
先理清自己的逻辑思路,父表子表之间在互相推手打太极,你触发我,我数据变化又改改你的数据。父表一般对子表进行统计整合数据,不要过多的依赖关联进行各种逻辑控制。建议还是设计窗口来处理