我想实现一个搜索过程 aVirtualStringTree
并且我想通过将搜索文本与来自节点而不是来自指针(例如Data^.Column0
)的文本进行比较来做到这一点,因为这并不总是 as String
。
请帮助我提出从节点取回文本的建议。
为了更好地理解,请参见下面的代码(我调整了 Lazarus 的示例)
type
PTreeData = ^TTreeData;
TTreeData = record
Column0: TDate; //Date
Column1: Integer; //Integer
Column2: String;
end;
procedure TForm1.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString);
var
Data: PTreeData;
begin
Data := VST.GetNodeData(Node);
case Column of
0: CellText := DateToStr(Data^.Column0); //2015-05-11 or 11-05-2015
1: CellText := IntToStr(Data^.Column1) + ' days'; //22 days
2: CellText := Data^.Column2;
end;
end;