uniDac只刷新单行记录的功能,我想是怕返回整个数据集比较低率吧。要实现在更新一个记录后只刷新该记录行,需要用到三步:
1、设置控件的TRefreshOptions属性为 [roAfterInsert,roAfterUpdate],即为新增后刷新,修改后刷新。
2、设置SQLRefresh属性,该属性是通过一个SQL查询语句定位到刚才那个记录上。
3、用RefreshRecord方法刷新。
代码如下:
with uniQ_D11 do
begin//刷新该行记录
SQLRefresh.TEXT:='select * from D11 where D11_1='+FieldByName('D11_1').AsString;
RefreshRecord;
end;
以上代码可以在修改完成后调用。不过,SQLRefresh属性中的语句必须保证只定位一行记录。
参考资料:
uniDac用法