dxDBTreeView自动删除数据问题

如果在一个窗体中使用dxDBTreeView没有问题,窗体关闭时一切正常。但如果这个设置这个窗体的Parent为一个PageControl(我使用Raize的),那么在这个Page关闭的时候dxDBTreeView连接的数据会全部自动删除!

被这个问题困扰了好久,只能将含dxDBTreeView的窗体直接创建显示,后来总觉得跟程序风格不一致,于是想修改dxDBTreeView的代码,又觉得也不方便,还要费时费力地去调试跟踪。

后来找了个折中的办法,在dxDBTreeView 的OnDeletion事件中:

.......tvClassDeletion(Sender: TObject; Node: TTreeNode);

begin
  inherited;
  if not FCanDeleteNode then
    Abort;
end;

如果直接Abort,则就无法调用dxDBTreeView的节点删除方法了。我使用了一个FCanDeleteNode ,这样在程序想调用节点删除方法的时候就将FCanDeleteNode 置为True就可以了。

不知道有没有人碰到过这种情况 ,有没有别的好方法。 

原文地址:https://www.cnblogs.com/GarfieldTom/p/2535558.html