vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Allgemeine Diskussionen
Re: ListBox Update? 
Autor: unbekannt
Datum: 12.02.02 16:30

Hi Firebird,

die einzige Listbox die sowas kann ist eine VBA Listbox. Damit meine ich Datensätze auf einen Rutsch einzulesen:

Listbox.Column = Array() 'Array muß in Felder,Satznummer dimensioniert sein.

Einen Recordset nimmt die Listbox so auf

Listbox.Column = Rs.GetRows(rs.Recordcount)

Aber: Bei 32768 Datensätzen macht die Listbox schlapp und Dein Speicher röchelt aus den letzten Nähten, mit 128 MB Speicher mußt schon die Notbremse ziehen. Aber alles erst, nachdem Du ein paar Minuten lang dem Laden zugesehen hast.

Egal wie man's dreht: Listboxen sind dafür nicht geeignet.

Desweiteren: Deine Methode über WinAPI bringt nur dann wirklich was, wenn Du im Ladevorgang ein DoEvents eingebaut hättest - diese bewirkt nämlich, dass die Listbox bei jeden neuen Eintrag neu gezeichnet wird. Ohne DoEvents lädt die Listbox genauso schnell wie mit der Api. Die Sendmessage setzt nämlich lediglich ein Flag, damit das Neuzeichnen unterbleibt. Diese Unterbleibt standartmäßig, wenn nicht DoEvents gesetzt wird.

Könntest ja Flexgrid nehmen, macht bei ca. 45.000 Datensätzen schlapp oder DBGrid, macht erst um die 55.800 Datensätze schlapp. Oder DBView, dann machen Deine Datensätze schlapp.

Im Bezug auf die Listbox muß man noch eines beachten: Lädst Du die Datensätze aus einer DB, liegen lediglich Referenzen zu den Datensätzen im Speicher, also nicht die realen Daten!, im Recordset vor (vorausgesetzt: dbOpenDynaset oder dbOpenSnapshot). Listbox dereferenziert sie und stellt echt Daten ins Listenfeld ein - deswegen dauert's länger.

Sorry, wurde etwas länger wie gewollt.

cu
Lordchen
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ListBox Update?84FirebirdDE10.02.02 15:32
Re: ListBox Update?379ModeratorDieter10.02.02 15:35
Re: ListBox Update?55Diver11.02.02 08:38
Eins hin - eins her - darum ging es ja eigentlich gar nicht ...426ModeratorDieter11.02.02 09:25
Re: ListBox Update?57FirebirdDE11.02.02 14:00
Re: ListBox Update?413ModeratorDieter11.02.02 14:13
Re: ListBox Update?54FirebirdDE12.02.02 15:52
Re: ListBox Update?380ModeratorDieter12.02.02 15:54
Re: ListBox Update?545unbekannt12.02.02 16:30
Re: ListBox Update?53FirebirdDE13.02.02 14:46

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel