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