AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datenbank in VirtualTreeView anzeigen und auswerten
Thema durchsuchen
Ansicht
Themen-Optionen

Datenbank in VirtualTreeView anzeigen und auswerten

Ein Thema von Jens Hartmann · begonnen am 3. Mär 2009 · letzter Beitrag vom 20. Mär 2009
 
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#11

Re: Datenbank in VirtualTreeView anzeigen und auswerten

  Alt 9. Mär 2009, 16:51
Also irgendwie bin ich scheinba zu doof da zu.

Diese ganzen Möglichkeiten von Records, Objecten oder Objecten mit Records, hat mich total durcheinander gebracht.
Ich poste Euch jetzt nochmal, meinen zur Zeit aktiven geamten Code der das VST angeht. Vieleicht, kann mir da dann ja mal jemand dran erklären, wo mein Fehler ist, und vorallem warum.

Delphi-Quellcode:
//Wird so in der Funktion aufgerufen, die meine Daten verwaltet.
  
  QryMB256PLUS.Close;
  QryMB256PLUS.SQL.Text := 'SELECT * FROM MB256PLUS';//'SELECT * FROM MB256PLUS';
  QryMB256PLUS.Open;

  Form1.VSTfüllen; //Eigene Procedure
end;

procedure TForm1.VSTfüllen;
var
  Daten : TOMB256PLUS;
begin
if not QRYMB256PLUS.Active then
  QRYMB256PLUS.Open;
  QRYMB256PLUS.filtered := false;
  QRYMB256PLUS.filter := '';
  VST.BeginUpdate;
  VST.Clear;
  VST.NodeDataSize := Sizeof(TOMB256PLUS);
  Daten := TOMB256PLUS.Create;
  QRYMB256PLUS.First;
  VST.RootNodeCount := QRYMB256PLUS.RecordCount;
  VST.SortTree(0,sdAscending,true);
  VST.EndUpdate;
end;

{Größe vom Objekt dem VST zuweisen}
procedure TForm1.VSTGetNodeDataSize(Sender: TBaseVirtualTree;
  var NodeDataSize: Integer);
begin
  VST.NodeDataSize := SizeOf(TOMB256PLUS);
end;

{Werte dem VST zuweisen}
procedure TForm1.VSTGetText(Sender: TBaseVirtualTree; Node: PVirtualNode;
  Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString);
var
  Daten : TOMB256PLUS;
begin
//Daten := TOMB256PLUS.Create;
Daten := TOMB256PLUS(VST.GetNodeData(Node)^);
  case Column of
  0: CellText:= IntToStr(Daten.ID);
  1: CellText:= IntToStr(Daten.LfdNr);
  2: CellText:= Daten.Datum;
  3: CellText:= Daten.Uhrzeit;
  4: CellText:= Daten.Ereignis;
  5: CellText:= Daten.Teilnehmer;
  6: CellText:= Daten.Bereich;
  end;
end;



procedure TForm1.VSTInitNode(Sender: TBaseVirtualTree; ParentNode,
  Node: PVirtualNode; var InitialStates: TVirtualNodeInitStates);
var
  Daten : TOMB256PLUS;
begin
        Daten.ID := QRYMB256PLUS.FieldByName('ID').AsInteger;
        Daten.LfdNr := QRYMB256PLUS.FieldByName('LfdNr').AsInteger;
        Daten.Datum := QRYMB256PLUS.FieldByName('Datum').AsString;
        Daten.Uhrzeit := QRYMB256PLUS.FieldByName('Uhrzeit').AsString;
        Daten.Ereignis := QRYMB256PLUS.FieldByName('Ereignis').AsString;
        Daten.Teilnehmer := QRYMB256PLUS.FieldByName('Teilnehmer').AsString;
        Daten.Bereich := QRYMB256PLUS.FieldByName('Bereich').AsString;
end;

procedure TForm1.VSTFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode);
var
  Daten : TOMB256PLUS;
begin
  Daten := TOMB256PLUS(VST.GetNodeData(Node)^);
  Daten.Free;
end;
Das müssten alle Funktionen sein.
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
 


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 13:01 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