Thema: Delphi Virtual TreeView

Einzelnen Beitrag anzeigen

Benutzerbild von celinaw
celinaw

Registriert seit: 2. Apr 2004
162 Beiträge
 
#1

Virtual TreeView

  Alt 25. Apr 2004, 10:16
Hi, Guten Morgen @all

Kennt sich hier jemand mit der Virtual TreeView aus?
Ich habe bissher die Daten mit unten stehendem Code in eine TListView Komponente eingelesen.
Bei vielen Datensätzen ist das jedoch relativ langsam. Jetzt habe ich etwas über die VirtualTreeView gelesen.
Diese soll schneller und flexiebler sein.
Ich habe mir das Tutorial dazu angesehen, komme aber nich damit klar.
Kann mir mal jemand an unten stehendem Beispiel erklären wie ich die Daten anstelle des TListView(lvAnzeige) jetzt in die VirtualTreeView bekomme?

Hier ein Link zu der Komponente : http://www.lischke-online.de/VirtualTreeview/VT.php



Delphi-Quellcode:
procedure TForm1.bSucheClick(Sender: TObject);
var
   ListItem : TlistItem;
begin
  dbMain.HostName:=edServer.Text; //Server
  dbMain.User:=edLogin.Text; //Benutzername
  dbMain.Password:=edPassword.Text; //Passwort
  dbMain.Database:=edDB.Text; //Name der Datenbank
  dbMain.Connected:=True; //Verbindung herstellen
  lvAnzeige.Items.Clear;
  try
    qrMain.SQL.Text :=
  'SELECT ' +
    'T.Order_Type,' +
    'T.Customer_Number,' +
    'T.Order_Number,' +
    'T.First_Event,' +
    'T.PrePrint,' +
    'T.Print,' +
    'T.Cewe_Batch,' +
    'T.Iqena_Batch,' +
    'T.BMSLogout,' +
    'K.Na,' +
    'K.Customer_Number,' +
    'K.Str,'+
    'K.Ort,' +
    'K.Tel,' +
    'K.PFD,' +
    'K.Fach_TAG,' +
    'K.Fach_NAcht,' +
    'K.Ap,' +
    'K.PLZ ' +
  'FROM ' +
    'table_ordertracking T,' +
    'kundenmg K ' +
  'WHERE ' +
    'T.Customer_Number=K.Customer_Number ' +
    'AND ' +
    'T.Customer_Number like ''' + edknr.Text + '''"%" ' +
    'AND ' +
    'T.Order_Number like ''' + edatnr.Text + '''"%" ' +
  'ORDER BY ' +
    'T.Order_Number;';

     qrMain.Open;
     qrMain.FieldByName('Order_Type').AsString;
     gauge1.Visible:= True;
     gauge1.maxvalue := qrMain.recordcount;

     while not qrMain.Eof do
  begin
    ListItem := lvAnzeige.Items.Add;
    ListItem.Caption:=qrMain.FieldByName('Order_Type').AsString;
    ListItem.SubItems.Add(qrMain.FieldByName('Customer_Number').AsString);
    ListItem.SubItems.Add(qrMain.FieldByName('Order_Number').AsString);
    ListItem.SubItems.Add(FormatDateTime('dd.mm.yyyy hh:mm:ss', qrMain.FieldByName('First_Event').AsDateTime));
    ListItem.SubItems.Add(qrMain.FieldByName('PrePrint').AsString);
    ListItem.SubItems.Add(qrMain.FieldByName('Print').AsString);
    ListItem.SubItems.Add(qrMain.FieldByName('BMSLogout').AsString);
    ListItem.SubItems.Add(qrMain.FieldByName('CeWe_Batch').AsString);
    gauge1.progress := gauge1.progress + 1;
    qrMain.Next;
  end;
   gauge1.progress := 0;
   gauge1.Visible:= false;

  finally
    dbMain.Connected:=False; //Verbindung trennen

  end;
 end;


Gruß CelinaW
  Mit Zitat antworten Zitat