具有缓存更新的Delphi主详细数据集 - 如何遍历详细数据集中的所有记录

时间:2011-07-08 23:39:35

标签: delphi

我有一个主要细节数据集:订单和订单项,两个数据集都设置为缓存更新。问题是在保存订单项时我想更新数据库中的不同表,所以做一些手工工作。我试着通过检查

来做到这一点
MTOrderItem.UpdatesPending

这部分工作正常,但是当我尝试使用

遍历数据集中的项目时
  with MTOrderItem do
  begin
    First;
    while NOT Eof do 
     .....

仅获取所选订单(主数据集)的筛选OrderItem。如何循环所有修改后的详细信息(订单商品)记录

1 个答案:

答案 0 :(得分:4)

通常在主当前记录更改时将重新打开详细信息数据集,因此详细信息仅包含当前主记录的记录。

您应该加载所有明细记录并使用过滤和过滤属性手动过滤。

e.g。

Master.OnScroll
    Details.Filter = 'MasterID='+Master.FieldByName(ID).AsString
    Details.Filtered := True