Probleme mit Datagrid und DataSource

Hallo zusammen,

ich habe folgendes Problem mit einem DatGrid. Ich schreibe Datensätze die ich in einem Array gespeichert habe in eine Data Source um diese dann darzustellen. Beim ersten mal ist dies kein Problem und ich kann innerhalb von sekunden 20000 Zeilen schreiben und darstellen. Will ich nun die vorhandenen Daten in meiner datasource überschreiben dauert dies wesentlich länger??? Unten seht ihr meinen Quelltext:

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
dataTable.Dispose();
dataTable.Clear();
dataTable.Rows.Clear();
dataTable.Columns.Clear();
GC.Collect();
//Hauptmenue.ActiveForm.Refresh();

int return_zeilen;
Dateiname = openFileDialog1.FileName;
return_zeilen = EinlesenTMP.EinlesenEDPlog(Dateiname);
dataTable.Columns.Add(„Datum“, typeof(string));//Anlegen der Tabellen Strucktur
dataTable.Columns.Add(„Zeit“, typeof(string));
dataTable.Columns.Add(„Telegramm-Num“, typeof(string));
dataTable.Columns.Add(„RWData“, typeof(string));
dataTable.Columns.Add(„Telegramm_TYP“, typeof(string));
dataTable.Columns.Add(„FUNCTION“, typeof(string));
dataTable.Columns.Add(„Data“, typeof(string));// TEST ZUM LÖSCHEN

for (int i = 1; i

Hi!
Ohne es jetzt ausprobiert zu haben, könnte ich mir vorstellen, dass das unterschiedliche Verhalten beim 2. Aufruf daher kommt, dass vor dem 1. Aufruf die DataSource des DataGrid noch leer (null) ist und beim zweiten Mal nicht.
Beim ersten Aufruf änderst Du die Daten der DataSource und sagst erst danach dem DataGrid: So, da hast Du.
Beim zweiten Aufruf hat das DG noch die Info, was es darstellen soll und damit werden alle Änderungen an der bisherigen Datasource sich im DG widerspiegeln, was dann einfach dauert.

Setz’ mal vor dem Einlesen der Daten die DataSource wieder auf null, das könnte es u.U. schon gewesen sein.

Gruß,
Martin

Hallo,

danke für deine Antwort! Leider kann es die Data Source nicht sein, beim Debugen kann ich sehen das die Zuweisung der Werte aus dem Array zur Datarow sehr lange dauert! Die Data Source wird erst danach neu geladen.