更新后刷新TClientDataset中的值

时间:2012-10-04 12:10:14

标签: sql delphi delphi-xe2 tclientdataset

我有一个包含多个表数据的TClientDataset。当我对此数据集应用更新时,它可能会不同步。

我举一个例子:

在要更新的表中,我得到了一个名为“Client_id”的ID。 clientdataset还包含一个值“Client_name”,该值从“Client”表中获取并显示在GUI中。

然后我更改了表格中的“Client_id”并对表格进行了应用更新,我的数据集中的“Client_name”字段突然不同步。这很自然是因为clientdataset尚未刷新。

现在我可以在afterpost事件上执行clientdataet.refresh,但随后数据集上的光标跳转到第一条记录,并且我将指针丢失到更新的记录。

任何人都知道如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您应该尝试RefreshRecord

答案 1 :(得分:0)

为您的提供者设置poPropogateChanges并在AfterUpdateRecord事件处理程序中分配任何新字段值