最近碰到一个问题,需要一个控件modified之后,给另外几个字段赋值,
但是碰到问题了,要么就是必须光标离开该控件之后,别的字段值才会变化;
要么就是整个画面重新加载,数据光标重新选中在第一条数据上。
针对以上问题,我查看了系统的采购订单过账入库之后,采购订单头状态更新的代码。
代码在 purchFormletter \ mainonserver 方法中,有如下方法,
PurchFormLetter::updateCallerDataSource(purchTable_ds, recordExists, doExecuteQuery);
进去之后发现,内容如下:
if (recordExists) { if (doExecuteQuery) { purchTable_ds.executeQuery(); } else { purchTable_ds.reRead(); purchTable_ds.reFresh(); purchTable_ds.editPurch(); purchTable_ds.reReadLines(); } } else { purchTable_ds.reSearch(); }
如上代码,当数据存在的情况,要么只执行重新查询数据,要么执行刷新当前记录。
没错,就是
purchTable_ds.reRead(); purchTable_ds.reFresh(); 上述两行代码起了刷新当前记录的作用。
时间: 2024-10-28 20:20:14