TDatalink状态的判断(请大家帮忙,谢谢) ( 积分: 100 )

  • 主题发起人 主题发起人 WoodBird
  • 开始时间 开始时间
W

WoodBird

Unregistered / Unconfirmed
GUEST, unregistred user!
最近我用TDataLink开发了一个数据库树型控件,但是遇到了一个问题,即当用户增加操作时,我就在TreeView的相应位置中增加一个空的树节点,当用户作取消操作时,我把刚才增加的空的树节点删除,当用户在数据集中滚动记录时,我就定位到相应的树节点上,现在的问题是当用户删除数据集中的一个记录时,我应该删除一个对应的树节点,但是,我怎样判断用户进行的是删除操作呢,数据集的删除操作即AfterDelete事件是什么消息触发的呢?我看了DBgrid的源码,可是看不懂啊?
 
最近我用TDataLink开发了一个数据库树型控件,但是遇到了一个问题,即当用户增加操作时,我就在TreeView的相应位置中增加一个空的树节点,当用户作取消操作时,我把刚才增加的空的树节点删除,当用户在数据集中滚动记录时,我就定位到相应的树节点上,现在的问题是当用户删除数据集中的一个记录时,我应该删除一个对应的树节点,但是,我怎样判断用户进行的是删除操作呢,数据集的删除操作即AfterDelete事件是什么消息触发的呢?我看了DBgrid的源码,可是看不懂啊?
 
建一个表,做日志维护了。
 
AfterDelete 是数据集的事件,建立楼主去看TDataSet的代码

procedure TDataSet.Delete;
begin
CheckActive;
if State in [dsInsert, dsSetKey] then Cancel else
begin
if FRecordCount = 0 then DatabaseError(SDataSetEmpty, Self);
DataEvent(deCheckBrowseMode, 0);
DoBeforeDelete;
DoBeforeScroll;
CheckOperation(InternalDelete, FOnDeleteError);
FreeFieldBuffers;
SetState(dsBrowse);
Resync([]);
DoAfterDelete;
[blue]DoAfterScroll;[/blue]// 这里会调用那个事件的
end;
end;
 
后退
顶部