HasChanges按道理是只作用于新增行(红色),但是我发现怎么锁定的也会提示?比如窗口有三个按钮:保存,审核,退出。我分别在三个按钮写下面代码
保存
Tables("采购单").Current.save
Dim dr As Row = Tables("采购单").Current
For Each cdr As DataRow In dr.DataRow.GetChildRows("采购明细")
cdr.Save
Next
审核
If Tables("采购单").Current IsNot Nothing AndAlso Tables("采购单").Current.DataRow.GetChildRows("采购明细").count = 0
msgbox("没有添加明细")
Return
Else
Dim drs1 As List(Of DataRow)
drs1 = Tables("采购单").Current.DataRow.GetChildRows("采购明细")
For Each dr As DataRow In drs1
If dr("采购数量") = 0 Then
msgbox("数量不可为0")
Return
Else
dr.save
dr.Locked = True
End If
Next
Tables("采购单").Current.Save()
Tables("采购单").Current("审核") = "已审核"
Tables("采购单").Current.Locked = True
msgbox("已审核")
End If
退出
If DataTables("采购明细").HasChanges Then
If MessageBox.Show("采购表已经被修改,是否保存?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
Tables("采购单").Current.Save()
Tables("采购单.采购明细").Save()
Forms("采购单").close
end if
end if
保存按钮和审核按钮其实就差一个lock,但是在点击退出的时候,审核必定提示已修改,保存则不会?
[此贴子已经被作者于2020/12/9 8:40:39编辑过]