我有一个主要细节数据集:订单和订单项,两个数据集都设置为缓存更新。问题是在保存订单项时我想更新数据库中的不同表,所以做一些手工工作。我试着通过检查
来做到这一点MTOrderItem.UpdatesPending
这部分工作正常,但是当我尝试使用
遍历数据集中的项目时 with MTOrderItem do
begin
First;
while NOT Eof do
.....
仅获取所选订单(主数据集)的筛选OrderItem。如何循环所有修改后的详细信息(订单商品)记录
答案 0 :(得分:4)
通常在主当前记录更改时将重新打开详细信息数据集,因此详细信息仅包含当前主记录的记录。
您应该加载所有明细记录并使用过滤和过滤属性手动过滤。
e.g。
Master.OnScroll
Details.Filter = 'MasterID='+Master.FieldByName(ID).AsString
Details.Filtered := True