Zum Inhalt springen

Listview Visual Basic


MichaK

Empfohlene Beiträge

Hallo zusamme,

ich habe ein ZEIT Problem beim befüllen eines Listview elements mit werten aus einer Textdatei in Visual Basic.

Der Code zum Einlesen der Datei:

Open ItemFile For Binary As #FF

inhalt = Space$(LOF(FF))

Get #FF, , inhalt

Close #FF

Zeilen = Split(inhalt, vbCrLf)

Danach verwende ich eine For Schleife zum lesen der einzelnen Werte in "Zeilen".

Bei jedem Schleifendurchlauf wird dem Listview element ein eintrag hinzugefügt.

Der Code Funzt prima aber nur bis ca. 3000 Zeilen in der Textdatei (ca. 3sekunden).

Das Problem ist das die Textdatei zwischen 30'000 und 100'000 Einträge hat.

Kennt jemand einen Schnellen Algo. zum befüllen eines Listview elements.

Ich füge jede zeile einzeln mit .add "bla....." hinzu.

Vieleicht gibt es ja die Möglichkeit dem Listview element ein array zuzuweisen.

Hilfe

Michael Klaus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn es Dir nur um die Anzeige geht verwende doch eine RichTextBox.

Die Datei kannst Du dann mit rtbAnzeige.Loadfile(strDateiname) laden.

Ich weiss, es ist keine möglichkeit eine ListView schnell zu füllen,

aber wenn es nur um die Anzeige geht, dann wäre es einen Gedanken wert, oder?

Link zu diesem Kommentar
Auf anderen Seiten teilen

- Das Listview wird schon vor dem Befüllen unsichtbar gemacht (bringt richtige zeitersparnis)

- das befüllen dauert trotzdem zu lange

Beispiel:

03000 Einträge => ca. 3 sekunden

10000 Einträge = ca. 35 sekunden

Ich habe schon bei anderen Programmen gesehen das 70'000 Einträge in ein Listview element geladen wurden ohne das man warten musste

Link zu diesem Kommentar
Auf anderen Seiten teilen

was für andere Programme? und kannst du an den Code dieser Programme kommen?

Es war ein Handwerksprogramm, das Fenster war mit min. 70000 Artikeln gefüllt.

Wenn ich an den Code kommen könnte, müsste ich keine Forum anfrage stellen.

Man kann es ja auch so Proggen das erstmal die 1. 1000 datensätze eingelesen werden und beim scrollen dann nach un nach die nächsten ohne das der User etwas davon merkt.

Diese Möglichkeit habe ich schonmal Probiert das Problem ist, das nach dem öffnen der Liste, der Benutzer etwas auswählen kann. Dazu schreibt er den ersten Buchstaben.

Das Programm sollte dann an diese Position in der Liste springen

Wenn ich diesen Buchstabenbereich noch nicht geladen habe wird nix angezeigt und der Benutze denkt das dieser Eintrag nicht vorhanden ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...