请教老师:想实现逻辑列“下料”、“零件机加工”、“成型”,无论勾选任一列,都按照“零部件编号”只生成一行(只要零部件编号相同就只生成一行),要求全部都不勾选时才删除行,其中一列不勾选的话,增加的行不变。下面的代码要怎么改?
Select Case e.DataCol.name
Case "下料","零件机加工","成型"
If e.DataRow("下料") = False OrElse e.DataRow("零件机加工") = False OrElse e.DataRow("成型") = False Then
DataTables("下料机加工清单").DeleteFor("零部件编号='" & e.DataRow("零部件编号") & "'")
Else
Dim ndr1 As DataRow = DataTables("下料机加工清单").Find("零部件编号 = '" & e.DataRow("零部件编号") & "'")
Dim ndr As Row = Tables("下料机加工清单").AddNew
ndr("零部件编号") = e.DataRow("零部件编号")
ndr("制单日期") = e.DataRow("制单日期")
ndr("生产令号") = e.DataRow("生产令号")
ndr("项目名称") = e.DataRow("项目名称")
ndr("机组") = e.DataRow("机组")
ndr("零部件名称") = e.DataRow("零部件名称")
ndr("零部件图号") = e.DataRow("零部件图号")
ndr("数量") = e.DataRow("数量")
ndr("材质") = e.DataRow("材质")
ndr("规格") = e.DataRow("规格")
ndr("材料批次") = e.DataRow("材料批次")
ndr("零部件标识") = e.DataRow("零部件标识")
ndr("下料尺寸") = e.DataRow("下料尺寸")
ndr("工序流程") = e.DataRow("工序流程")
ndr.Move(0)
ndr("_sortkey") = DataTables("下料机加工清单").sqlcompute("min([_sortkey])") - 0.00000001
End If
End Select
Dim ndr As DataRow = DataTables("下料机加工清单").Find("零部件编号 = '" & e.DataRow("零部件编号") & "'")
if ndr is nothing
ndr = DataTables("下料机加工清单").AddNew
endif
ndr("零部件编号") = e.DataRow("零部件编号")
显示编译错误“move”不是“datarow”的成员
Dim k As integer= Tables("下料机加工清单").Find("零部件编号 = '" & e.DataRow("零部件编号") & "'")
Dim ndr As DataRow
if k=-1
ndr = Tables("下料机加工清单").AddNew
else
ndr = Tables("下料机加工清单").rows(k)
end if