![]() |
Re: ADO, Grid und SQL mit JOIN
Hi nochmals!
Ihr schreibt teilweise ihr verwendet diese Methode für viele bzw für wenige Daten. Habe es mit ca 100 Datensätzen versucht -> Performance noch ok.. Mit 5000 Datensätzen dauert das füllen des Grids ewig lange.. Das Problem ist, dass ich sehr viele DS habe und die Sache mit der While-Schleife deshalb nicht ordentlich funktioniert... |
Re: ADO, Grid und SQL mit JOIN
Für die schlechte Performance habe ich grade keine pauschale Lösung.
Abhängig von den verwendeten Datentypen, der Spaltenanzahl, der Geschwindigkeit der Datenquelle usw. sollte das Grid zwischen 2000 und 20.000 Records pro Sekunde laden. Das BeginFULLUpdate und EndFULLUpdate hast du doch gesetzt oder ? An deiner Query hängen während des Ladens der Datensätze hoffentlich keine anderen, datensensitiven, Steuerelemente oder ? Nicht das Diese das laden ausbremsen ... (Stichwort: EnableControls, Disablecontrols) Was die Performance sehr stark runterzieht ist unter anderem auch, wenn das CellAutoWidth (o.Ä.) eingeschaltet ist. Etwas Source und wäre jetzt sicher hilfreich um das Problem schneller zu lokalisieren .... Alternativ kannst du ja mal in den ![]() Schöne Grüße, Jens |
Re: ADO, Grid und SQL mit JOIN
Zitat:
|
Re: ADO, Grid und SQL mit JOIN
Hallo!
Das Problem mit der Geschwindigkeit habe ich nun gelöst. Hatte die Datasource der Query beim Start zugeordnet. Das Problem im Moment ist, dass keine Daten im Grid angezeigt werden. Hier der Code:
Code:
procedure Tfrm_Main.Button2Click(Sender: TObject);
var i : Integer; RecNo : Integer; begin TableView_Vertraege.DataController.BeginFullUpdate; Q_Contract.First; i:=0; While not Q_Contract.EOF do begin TableView_Vertraege.DataController.AppendRecord; TableView_Vertraege.DataController.Values[i, tvcVertragsgruppe.Index] := Q_Contract.Fieldbyname('DOCContractGroup_Name').AsString; i:=i+1; Q_Contract.Next; end; TableView_Vertraege.DataController.EndFullUpdate; //DS_Contract.DataSet := Q_Contract; end; Liebe Grüsse Peter |
Re: ADO, Grid und SQL mit JOIN
Hallo Nochmals!
Hab ich oben etwas schlecht beschrieben: Die Zeilen im Grid sind zwar vorhanden, aber diese sind leer... liebe Grüsse peter |
Re: ADO, Grid und SQL mit JOIN
Hast du dir die Beispiele von DevExpress schon mal angesehen ?
Die sind wirklich gut ... Falls es dann immer noch klemmt mache dir in den nächsten Tagen mal ein ganz kleines Beispiel Projekt fertig. Komme aber erst Anfang nächster Woche dazu. Zitat:
Wenn BeginnFullUpdate gesetzt wurde, wird die Zellenbreite (ColumnAutoWidth) nicht beim Laden der Datensätze angepasst. Jedoch wenn Das EndFullUpdate kommt wird das Grid die eingestellte Anzahl Datensätze durchscrollen, um die optimale Spaltenbreite zu ermitteln. Wenn man die Anzahl sehr hoch ansetzt dauert das schon eine Weile. Da EndFullUpdate unmittelbar nach dem Einlesen der Daten aufgerufen wird, kann einem das schon so vorkommen, als würde das Laden ewig dauern ... Schöne Grüße, Jens |
Re: ADO, Grid und SQL mit JOIN
Hallo!
Ja - habe mir auch schon die Demos angesehen... habe ich unter Umständen die falschen Komponenten verwendet? TcxGrid - TcxGridTableView - TcxGridColumn Wenn ich nämlich ansttt des Grids eine Listbox verwende funktioniert der "Datenimport"... Unter der DevExpress-Hilfe ( ![]() Könntest du dir auch vorstellen, das Grid an die Datasource zu hängen und anstatt der Joins eine LookupComboBox zu verwenden? Das hatte ich zuerst - leider ist die Performance beim Gruppieren erschreckend langsam (teilweise über eine Minute bei Daten der Hauptquery 5000 Stück und LookupComboBox-Query ebenfalls ca 5000 Stück)... Danke und liebe Grüsse Peter |
Re: ADO, Grid und SQL mit JOIN
Liste der Anhänge anzeigen (Anzahl: 1)
So,
hier wie versprochen ein Mini-Unbound Demo. Ich hoffe es wird die offenen Fragen klären ... Schöne Grüße, Jens |
Re: ADO, Grid und SQL mit JOIN
Hallo!
Vielen Dak für das Demo! Scheinbar war mein Code ok.. Aber: die exe aus deinem Demo hat perfekt funktioniert - dann habe ich das Projekt geöffnet - unter Optionen die Ausgabeverzeichnisse geändert - kompiliert - und wieder nur leere Zeilen im Grid. (Beim Starten des Projektes in D.: "cxg_type.SortIndex nicht gefunden" hab ich mal ignoriert ;-).. eine wirklich komische Sache.. werd mal weiterprobieren und geb dann bescheid wenn ich was gefunden habe (so in 125 Jahren ;-)) Liebe Grüsse und noch einen schönen Tag Peter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:29 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 by Thomas Breitkreuz