Я хочу иметь возможность включать и отключать сортировку в TVirtualTreeView. В настоящее время я использую OnCompareNode, чтобы выполнить фактическую сортировку, что является стандартной практикой. Это мой код в OnCompareNode.
procedure TfmCodeExplorerVT.vtCodeExplrCompareNodes(Sender: TBaseVirtualTree;
Node1, Node2: PVirtualNode; Column: TColumnIndex; var Result: Integer);
Var CodeData0: PItemRecord;
CodeData1: PItemRecord;
begin
if Sender.GetNodeLevel(Node1) = 0 then exit;
CodeData0 := vtCodeExplr.GetNodeData(Node1);
CodeData1 := vtCodeExplr.GetNodeData(Node2);
if Sorted then
Result := CompareText(CodeData0.Caption, CodeData1.Caption);
end;
У меня есть кнопка, с помощью которой я могу переключаться между отсортированными и несортированными.
Как мне заставить любые расширенные узлы в VirtualTreeView обновляться динамически? Единственный способ, который я нашел до сих пор, - это свернуть открытый узел и снова развернуть его. Это правильный путь?