AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi VST Row in Abhängigkeit von Datenwert ausblenden
Thema durchsuchen
Ansicht
Themen-Optionen

VST Row in Abhängigkeit von Datenwert ausblenden

Offene Frage von "richard_boderich"
Ein Thema von richard_boderich · begonnen am 7. Mär 2008 · letzter Beitrag vom 8. Mär 2008
Antwort Antwort
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#1

VST Row in Abhängigkeit von Datenwert ausblenden

  Alt 7. Mär 2008, 19:24
N'abend zusammen!

Ich möchte alle Rows des kompletten VST durchgehen. Falls in einen Row z.B an Column[2] ein bestimmter String steht, soll das jeweilige row ausblendet werden. Wie kann ich dies Realisieren? Ich habe dunkel was von InterateSubtree in Erinnerung, weis
jedoch nicht ob ich dies für den Fall anwenden kann, oder ob es vielleicht bessere und schnellere Möglichkeiten gibt.
Welche Methoden des VST sind dafür am sinnvollsten?

mfG Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#2

Re: VST Row in Abhängigkeit von Datenwert ausblenden

  Alt 7. Mär 2008, 19:50
Was verstehst du denn unter VST???
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#3

Re: VST Row in Abhängigkeit von Datenwert ausblenden

  Alt 7. Mär 2008, 19:53
@grenzgaenger

Den Virtual String Tree.

mfg Richard
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
OG Karotte
(Gast)

n/a Beiträge
 
#4

Re: VST Row in Abhängigkeit von Datenwert ausblenden

  Alt 7. Mär 2008, 21:10
Hallo Richard,

die eine Möglichkeit wäre IterateSubtree

Delphi-Quellcode:
Procedure TForm1.MyCallBack(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
Begin
   If Data.xyz = abc Then Sender.IsVisible[Node] := false;

End;

Procedure TForm1.ButtonClick(Sender: TObject);
Begin
   VST.IterateSubTree(nil, MyCallBack, nil);
End;
Die andere (entnommen aus diesem Thread, gepostet von Prototypjack, leicht angepasst):
Delphi-Quellcode:
procedure Foo;
var
  lNode: PVirtualNode;
  Data: PYourNodeData;
begin
  lNode := YourVST.GetFirst;
  while Assigned(lNode) do
  begin
     If Data.xyz = abc Then YourVST.IsVisible[lNode] := false;

    // Next Node
    lNode := YourVST.GetNext(lNode);
  end;
  // Hier ist die Schleife beendet
end;
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#5

Re: VST Row in Abhängigkeit von Datenwert ausblenden

  Alt 7. Mär 2008, 22:17
Zitat von OG Karotte:
Hallo Richard,

die eine Möglichkeit wäre IterateSubtree

Delphi-Quellcode:
Procedure TForm1.MyCallBack(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
Begin
   If Data.xyz = abc Then Sender.IsVisible[Node] := false;

End;

Procedure TForm1.ButtonClick(Sender: TObject);
Begin
   VST.IterateSubTree(nil, MyCallBack, nil);
End;
diese Lösung ist sehr schön, hat aber einen kleinen Nachteil.
In Data sind nicht die Knotendaten gespeichert.
Die Knotendaten müssen nach wie vor mit getNodeData geholt werden.
In Data steht ein Zeiger welcher zusätzlich von IterateSubtree mitgegeben werden kann.

Dieses habe ich auch im Stammtischvideo erklärt.
http://www.delphipraxis.net/videos#Stammtisch_2

Im Entwickler Magazin 02/08 Seite 68 ff. ist es auch drin.
[edit]
quotetag korrigiert
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
OG Karotte
(Gast)

n/a Beiträge
 
#6

Re: VST Row in Abhängigkeit von Datenwert ausblenden

  Alt 8. Mär 2008, 09:02
Zitat von generic:
diese Lösung ist sehr schön, hat aber einen kleinen Nachteil.
In Data sind nicht die Knotendaten gespeichert.
Die Knotendaten müssen nach wie vor mit getNodeData geholt werden.
In Data steht ein Zeiger welcher zusätzlich von IterateSubtree mitgegeben werden kann.
Uuupps , das kommt, wenn man mal eben schnell was zwischen Tür und Angel macht
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz