| |
VB.NET - FortgeschritteneDataGridView Rendering sehr langsam | | | Autor: Thorsten19479 | Datum: 12.10.11 14:07 |
| Hallo Zusammen,
hab hier ein DataGridView auf einer WindowsForm.
Dieses binde ich zur Laufzeit an eine DataTable, welche zuvor gefüllt wurde.
Nun kann man schon beobachten, wie das DataGridView gefüllt wird.
So Zeile für Zeile.
Außerdem formatiere ich die einzelnen Zeilen noch.
Das Ganze ist wirklich sehr zäh, insbesondere wenn ältere Rechner die Anwendung ausführen.
Im Hauptspeicher werden gerade mal 12 MB belegt.
Sollte also nichts grossartiges sein...
Hat jemand eine Idee, wie ich die Geschichte etwas beschleunigen kann?
Grüße
Thorsten | |
Re: DataGridView Rendering sehr langsam | | | Autor: Manfred X | Datum: 12.10.11 17:17 |
| Hallo!
Es wäre viel interessanter, zu analysieren, wie Du es
geschafft hast die Datenbindung derart auszutricksen.
Code tut not.
MfG
Manfred | |
Re: DataGridView Rendering sehr langsam | | | Autor: FZelle (Moderator) | Datum: 12.10.11 20:28 |
| Oder die Automatische Cellenhöhe/Breite.
Wenn die im DataGridView an ist, wird es ekelig. | |
Re: DataGridView Rendering sehr langsam | | | Autor: Thorsten19479 | Datum: 13.10.11 07:19 |
| Hi,
nette Diskussion hier!
Ich werde mal probieren, die Formatierung testweise auszuschalten um zu sehen, ob es dann besser wird...
Aber ich brauch die eben!!
Aber wirklich viele Zeilen sind es nicht... vielleicht max. 100 oder so...
Grüße
Thorsten | |
Re: DataGridView Rendering sehr langsam | | | Autor: Manfred X | Datum: 13.10.11 07:23 |
| Hallo!
... und Deinen diesbezüglichen Code dürfen wir nicht kennenlernen ?
MfG
Manfred | |
Re: DataGridView Rendering sehr langsam | | | Autor: Thorsten19479 | Datum: 13.10.11 07:33 |
| Oh, sorry!
Ich fand dass das eigentlich gar nix grossartiges war...
Im Form_Load erzeug ich ne frische DataTable und fülle die Zeile für Zeile und am Schluss binde ich diese ans DataGridView... feddich...
Grüße
Thorsten | |
Re: DataGridView Rendering sehr langsam | | | Autor: Maas | Datum: 13.10.11 07:44 |
| Dir ist aber schon das "Vier-Augen-Prinzip" bekannt?
Maas | |
Re: DataGridView Rendering sehr langsam | | | Autor: Thorsten19479 | Datum: 13.10.11 07:47 |
| ?? Nein... | |
Re: DataGridView Rendering sehr langsam | | | Autor: Thorsten19479 | Datum: 13.10.11 10:56 |
| Hi alle Zusammen,
Die Antwort von Snoopy hat mir schon geholfen.
Etwas weniger Formatierung und schon wirds performanter...
@DaveS
In dem Fall passiert auch nichts besonderes...
Aber bevor ich hier noch gesteinigt werde, hier noch der Code:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
For n As Integer = 0 To dsMain.Tables("dt").Rows.Count - 1
dRow = dsMain.Tables("dtModif").NewRow
With dsMain.Tables("dt").Rows(n)
dRow.Item("Feld1") = .Item("Position")
dRow.Item("Feld2") = .Item("BelPosId")
dRow.Item("Feld3") = .Item("FaNr")
dRow.Item("Feld4") = .Item("Verursacherbeleg")
dRow.Item("Feld5") = msGetHauptverursacherKunde(.Item( _
"FaNr"))
dRow.Item("Feld6") = .Item("Artikelnummer")
dRow.Item("Feld7") = .Item("Bezeichnung")
dRow.Item("Feld8") = .Item("Matchcode")
dRow.Item("Feld9") = .Item("Zeichnungsnummer")
dRow.Item("Feld10") = .Item("Menge")
dRow.Item("Feld11") = Format(.Item("Termin"), "Short Date")
dRow.Item("Feld12") = Format(.Item("Belegdatum"), "Short" & _
"Date")
End With
dsMain.Tables("dtModif").Rows.Add(dRow)
Next
dgvAuftraege.DataSource= dsMain.Tables("dtModif")
End Sub Herzlichste Grüße
Grüße
Thorsten | |
Re: DataGridView Rendering sehr langsam | | | Autor: bauer | Datum: 14.10.11 14:57 |
| Eventuell mal nochj folgender Kommentar zu dem Thema:
Siehe http://stackoverflow.com/questions/118528/horrible-redraw-performance-of-the-datagridview-on-one-of-my-two-screens
Es geht zwar hier um die Griddarstellung auf Systemen mit zwei Monitoren, aber evtl. hilt der Hinweis.
MyGrid.DoubleBuffered = True Da das DoubleBuffered Property Protected ist, muss man das Grid einmal ableiten um sinnvoll ranzukommen an die Ecke, siehe obiger Link.
Ansonsten schliesse ich mich den Vorrednern an, die HauptperformanceSenke sind aufwändige Formatierungen und/oder die automatische Neuberechnung von optimalen Spalten / Zeilenhöhen.
Viel Erfolg weiterhin,
bauer | |
| 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 |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats sevZIP40 Pro DLL
Zippen und Unzippen wie die Profis!
Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Weitere Infos
|
|
|
Copyright ©2000-2024 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
|
|