Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Listview Visual Basic

Empfohlene Antworten

Veröffentlicht

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

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?

Was hältst du davon das ListView im Load der Form zu füllen? Denn ich glaube das ein wesentlicher Teil der Zeit des befüllens dafür draufgeht, das der ListView immerwieder Refreshed wird. Oder versuch das ListView einfach unsichtbar zu machen.

- 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

Original geschrieben von MichaK

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

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

versuch es doch einfach zu umgehen alle daten auf einmal einlesen zu vollen.

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.

Guido

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.

mh...

und hast du schon versucht das ganze im Form_Load zu füllen?

Ich kann mich schwach daran erinnern, das mir das bei einem ähnlichen Prog n haufen Zeit gespart hat...

selbst für diese möglichkeit der direkten eingabe eines oder mehrer Buchstaben für den anfang eines Eintrags ist es möglich die Methode so zu schreiben das dann halt nur diese Einträge eingelesen werden.

Guido

ich teste gerade nochmal das befüllen .....

hat jemand eine idee wie man das scrollereignis eines Listview elements abfängt?

MfG

MichaK

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.