Filtrer un VirtualTreeView??
Bonjour,
Je voudrai savoir si c'est possible de filtrer les donnees d'un VirtualTreeView. Si oui, est-ce que les autres donnees (celles non affichees) sont toujours accessibles?
Juste pour l'information, j'ai essaye d'utiliser un DBGrid et une table en memoire, mais le probleme c'est que si on filtre la table, les donnees ne repondant pas a la condition du filtre ne sont pas accessibles, donc je ne peux pas les mettre a jour.
Merci.
::arf::
Filtre avec VirtualTreeView;
La fonction pour rendre visible ou non une ligne dans une VirtualTreeView, est la propriete IsVisible de l'objet tVirtualTreeView.
Par exemple, on peut faire un filtre de cette maniere (tres simpliste).
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
type
PRecord = record
Visible : boolean;
Name : string;
End;
end;
procedure ApplyFilter(Filter:string;TV:tVirtualTreeview);
var
CurrentNode : pVirtualNode;
Data : ^PRecord;
begin
CurrentNode := TV.GetFirst;
While CurrentNode <> nil do
Begin
Data := TV.GetNodeData(CurrentNode);
TV.IsVisble[CurrentNode] := Data.Visible;
CurrentNode := TV.GetNext(CurrentNode);
End;
end; |