各位大神:
Delphi中DBGridEh编辑完,然后上下移动后,数据会自动post,这样要判数据集Modified判断会为假,如何解决此问题,
因为ADOquery的Locktype设置为ltBatchOptimistic,所以数据在缓存中,这时想点保存按钮判断数据集是否Modified,但是此时已经为假了
判断不出修改过数据,求解。
Delphi中DBGridEh编辑完,然后上下移动后,数据会自动post,这样要判数据集Modified判断会为假,如何解决此问题,
因为ADOquery的Locktype设置为ltBatchOptimistic,所以数据在缓存中,这时想点保存按钮判断数据集是否Modified,但是此时已经为假了
判断不出修改过数据,求解。
如果开了ltBatchOptimistic,可以用UpdateStatus来判断,或者在query的BeforePost事件中做一下处理。
TDataSource.OnDataChange 数据修改之后触发
if DataSource.State in [dsInsert, dsEdit] then
begin
btnSave.Enabled := True;
end;