Hallo zusammen,
ich habe ein relativ simples DatGridView mit 10 Spalten und maximal 300 Zeilen.
Die erste Spalte enthält DataGridViewComboBoxCells mit denen eine Auswahl getroffen werden kann, welche Spalten dargestellt werden. d.h. wenn das Event aus der ComboBox-Zelle kommt, ermittle ich die anzuzeigenden Daten, erzeuge das DataGridView neu (new) und füge die entsprechenden Zeilen ein. Allerdings dauert dieser Vorgang "ewig" lange (bis zu 30 sek). 99% der Zeit geht in einer for-Schleife drauf, in der lediglich folgender Aufruf für alle Zellen ausgeführt wird:
C#-Quelltext
1:
| dataGridView1[(int)columns.Baureihe, row].Value = "Der Text"; |
Warum dauert das so verdammt lange? und vor allem: warum dauert das beim ersten füllen der Tabelle (mit allen Daten) nicht so lange?! Liegt das daran, das das gridview in dem Moment wo es das 1. mal gefüllt wird nicht angezeigt wird und bei den Änderungen schon?
Habe schon folgendes probiert:
C#-Quelltext
1: 2: 3:
| dataGridView1.Visible=false; dataGridView1.Enabled=false; dataGridView1.SuspendLayout(); |
aber das hat alles nicht geholfen.
Vielleicht weiss ja jemand einen Rat...
Danke!