![]() |
AW: Virtualstringtree suchen mit Child-Nodes
Zitat:
Delphi-Quellcode:
Sprich ohne
procedure TFormTest.EditFilterSearchChange(Sender: TObject);
begin if (not (tsIterating in vstFilter.TreeStates)) then vstFilter.IterateSubtree(Node, vstFilterSearchCallback, nil); end;
Delphi-Quellcode:
und
vstFilter.BeginUpdate
Delphi-Quellcode:
.
vstFilter.EndUpdate
CallBack schaut dann so aus:
Delphi-Quellcode:
Grüße madas
procedure TFormTest.vstFilterSearchCallback(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var nodeData: TFilterCustomItem; begin if (Assigned(Node)) then begin nodeData := TFilterCustomItem(Sender.GetNodeData(Node)^); Sender.IsVisible[Node] := True; if (nodeData is TFilterFieldValue) then begin Sender.IsVisible[Node] := (EditFilterSearch.Text = EmptyStr) or (AnsiContainsText(StringReplace(nodeData.CellText, ' ', '', [rfReplaceAll]), StringReplace(EditFilterSearch.Text, ' ', '', [rfReplaceAll]))); if (Assigned(Node.Parent)) then begin ... // Parent wird dann hier auf Grund der sichtbaren Anzahl an Childs auch ein- bzw. ausgeblendet // Und falls vorhanden Parent.Parent auch ... end; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz