VirtualStringTree - 确定何时检查节点集合的任何方法?

时间:2011-03-08 09:58:14

标签: delphi virtualtreeview

我有一个使用TriStateChecking的VST。它连接到数据库表,因此当用户检查节点时,其已检查的字段将在数据库中更新。我希望这对最终用户是不可见的;这不是“保存”按钮。

我目前正在使用OnChecked()事件来更新数据库。问题是在检查大量节点时,它基本上执行#CheckedNodes SQL更新语句。我想做的是在所有三态检查完成时捕获/被通知,这样我就可以简单地扫描树并构造一个SQL更新语句。

一旦完成所有三态检查,是否有可以使用的事件?

3 个答案:

答案 0 :(得分:2)

不,迭代是唯一的方法。甚至CheckedCount属性都是这样做的。

答案 1 :(得分:1)

只需要一个内部列表,您可以在其中存储已检查的节点,并且onChecked事件会更新列表。检查大量节点时,只需遍历列表并构造SQL语句。

答案 2 :(得分:0)

只是做一些测试,但看起来我可以简单地使用OnMouseUp()事件。应该有可能之前检查过,哎呀。