使用遍历,全部重建了记录窗口,测试通过
If (DataTables("销售订单").HasChanges = True) Or (DataTables("销售明细").HasChanges = True) Then
Dim Result As DialogResult
Result = MessageBox.Show("是否取消修改", "e.Form.name", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
DataTables("销售订单").RejectChanges()
DataTables("销售明细").RejectChanges()
'DataTables("销售订单").Load '重载数据
'' Dim rgd As WinForm.RecordGrid = e.Form.Controls("RecordGrid3") '逐个记录窗口重建立
'' rgd.Build
For Each c As WinForm.Control In e.Form.Controls '遍历重建所有记录窗口
If Typeof c Is WinForm.RecordGrid Then '判断控件是否是记录窗口
Dim rgd As WinForm.RecordGrid = c '使用特定类型的变量引用控件
rgd.Build()
End If
Next
End If
End If