delphi - 动态更改 TVirtualTreeView 中的排序顺序
问题描述
我希望能够在 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 中的任何扩展节点动态更新?到目前为止,我发现的唯一方法是折叠打开的节点并再次展开它。这是正确的方法吗?
解决方案
推荐阅读
- bash - 在 Bash 中用两个连续的分隔符拆分字符串
- flutter - Flutter nullsafety:条件列表位置
- visual-studio-code - Visual Studio 工作区任务意外错误
- c# - linux 上的 C#:linux 上的 FFmpeg (FFMediaToolkit) System.IO.DirectoryNotFoundException:找不到默认的 FFmpeg 目录
- api - Autodesk Forge SVF 格式直接从 3ds max 加载
- javascript - Javascript 数组和对象
- java - 有没有理由我不能读取双倍字符串?- java扫描仪
- javascript - 使用拖放交换javascript / Angular 2+中的表列
- vega-lite - Vega-lite - 更改绑定输入的位置
- python - 支持文件名、路径和缓冲区输入