vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 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

VB.NET - Ein- und Umsteiger
Re: DataGridView und die Geschwindigkeit 
Autor: spatzimatzi
Datum: 15.10.15 12:13

Hallo Manfred X,
habe eine Stelle gefunden, wo viel Zeit verbraten wird. Verstehen tu ich es nicht.
Habe mir die Zeit vor und nach der Schleife ausgegeben lassen und errechne etwa 8 Sekunden
Genauer könnte ich dies mit Ticks machen, aber ich denke, dass ist nicht notwendig.

Ich hatte geschrieben, dass ich über eine vartikale Menüleiste die einzelnen Gruppen, die angezeigt werden sollen, auswähle. Darunter ist auch die Gruppe mit den 2000 Records.

Das DataGridView, das angezeigt wird, heisst dgvDaten
Die Spaltendaten wie Name, Position und Breite werden für jede Gruppe gespeichert.
Bei einer neuen Gruppe müssen dann diese Daten gelesen und zugeordnet werden.

Die Informationen stehen in der Variablen XYZ und sehen wie folgt aus:
ArtikelIdent:0:100;Artikelnummer:1:94;DelFlag:11:100;Matchcode:3:100;SoundexID:10:100;Artikelbezeichnung1:4:154;Artikelbezeichnung2:5:151;Serienbezeichnung:9:165;MerkmalText:8:188;Warengruppe:6:139;Status:2:30;PreisText:7:161;Zusatz_KurzBezeichnung:17:100;Zusatz_KurzBezeichnungNummer:16:100;Zusatz_ArtikelNummer:12:100;Zusatz_ArtikelBezeichnung1:13:100;Zusatz_SerienBezeichnung:14:100;Zusatz_WarenGruppe:15:100
Nicht alle Spalten werden angezeigt, aber benötigt!

Habe im Debugmodus die einzelnen Schritte ausgeführt. Keinerlei Verzögerung.
Starte ich das Programm, dann benötigt das Programm diese 8 Sekunden zwischen den Zeit-Ausgaben.
      Debug.Print("Start:" & DateTime.Now.ToString)
 
      Dim strSpaltenwerte() As String = XYZ.Split(";"c)
 
      For Each i As String In strSpaltenwerte
        Dim strWerte() As String = i.Split(":"c)
        If dgvDaten.Columns(strWerte(0)) Is Nothing Then Continue For 
        If strWerte(1) > dgvDaten.ColumnCount - 1 Then Continue For
        With dgvDaten.Columns(strWerte(0))
          .DisplayIndex = strWerte(1)
          If .AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet OrElse _
             .AutoSizeMode = DataGridViewAutoSizeColumnMode.None Then
            .Width = strWerte(2)
          End If
        End With
     Next i
 
     Debug.Print("Ende:" & DateTime.Now.ToString)
Hinweis: Die Anweisung .Width = strWerte(2) im Code If . AutoSizeMode ... schluckt die Zeit, aber warum?

Die Abfrage wurde eingebaut, weil bei DataGridViewAutoSizeColumnMode.Fill nicht gesetzt werden kann bzw. soll

Meine Fragen, auch allgemeiner Art:
Ist die Zeitmessung richtig?
Hat die Zuordnung auch Einfluss auf die einzelnen Records? Wenn ja: Welche Ereignisse?
Gibt es Grundsätzliches, was man bei der Zuweisung beachten muss?
..Evtl eine bestimmte Reihenfolge einhalten?
Kann man die Spaltenangaben geschickter und vor allem schneller zuweisen?

Wenn noch Fragen sind, her damit. Ich beantworte sie gerne!

Bin für jede Information dankbar!!

Viele Grüße
spatzimatz
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DataGridView und die Geschwindigkeit2.469spatzimatzi14.10.15 17:28
Re: DataGridView und die Geschwindigkeit1.571Manfred X15.10.15 06:41
Re: DataGridView und die Geschwindigkeit1.562spatzimatzi15.10.15 09:02
Re: DataGridView und die Geschwindigkeit1.620spatzimatzi15.10.15 12:13
Re: DataGridView und die Geschwindigkeit1.696Manfred X15.10.15 14:25
Re: DataGridView und die Geschwindigkeit1.573spatzimatzi15.10.15 15:39
Re: DataGridView und die Geschwindigkeit1.693Manfred X15.10.15 15:52
Re: DataGridView und die Geschwindigkeit1.531spatzimatzi15.10.15 16:30
Re: DataGridView und die Geschwindigkeit1.536Manfred X15.10.15 17:13
Re: DataGridView und die Geschwindigkeit1.571spatzimatzi16.10.15 09:26
Re: DataGridView und die Geschwindigkeit1.518Manfred X16.10.15 09:47

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