下面这段代码很奇怪,如何修改?
Dim drcs As New List(Of DataRow)
drcs = DataTables("产品检验放行状态").sqlse ect("批号='" & e.Row("批号") & "'") 筛选后台的清单
If drcs.Count = 0 Then
Dim drc1 As DataRow
。。。。。。。。
drc1.save
Else
For Each drk As DataRow In drcs
If drk.IsNull("成品编码") Then
。。。。。。
drk("un包装规格") = e.Row("un包装规格")
drk.save
End If
If drk.IsNull("成品编码") = False AndAlso drk("un包装规格") <> e.Row("un包装规格") Then
Dim drc As DataRow
drc = DataTables("产品检验放行状态").AddNew
drc("批号") = e.Row("批号")
drc("成品描述") = e.Row("成品描述")
drc("实际出报告时间") = drk("实际出报告时间")
drc("备注") = drk("备注")
drc("QA接收时间") = drk("QA接收时间")
drc("QA放行时间") = drk("QA放行时间")
drc.save 这里出了问题,运行到这边后,table表格里面的确存在新创建的表,即drc都在,行状态也是正常,但是后台没有,一旦重新点击菜单,由drc增加的行就消失了。后台也没有。是否sqlselect与相同表格的addnew冲突?怎么改?
End If
Next
drc.save应该不会有问题,除非表格有其它事件影响了
检查了下,表格没有其他代码了。并且这个代码是在afteredit里面,不是datarow changed里面。
现在不清楚的原因就是: sqlselect 的for each 循环里面,再次对本表的datatable.addnew. 会不会冲突。
[此贴子已经被作者于2025/4/9 11:28:06编辑过]