Laden...

Datagridview und DefaultCellStyle

Letzter Beitrag vor 16 Jahren 3 Posts 1.198 Views
Datagridview und DefaultCellStyle

Hallo Forum,

ich habe ein Problem bei dem ich gerade nicht so recht weiter weiß:

Ausgangslage:

  • Ich habe ein DataGridView welches seine Daten aus einer BindingList<> bekommt.
  • Je nach Daten in einer Zeile werden die Zeilen durch den DefaultCellStyle unterschiedlich eingefärbt.

Wenn ich also nun eine neue Zeile einfüge, dann mache ich folgendes:
myBindingList.Add(newEntry);
myDataGridView.Rows[myDataGridView.RowCount - 1].DefaultCellStyle=cellStyleXYZ;

Das klappt auch supi, alle Elemente werden "unten" im Datagridview hinzugefügt und angezeigt.

Problem:
Jetzt möchte ich aber die Elemente nicht "unten" ans DataGridView anfügen sondern oben, in der 1. Zeile.
Wenn ich dies mache:

(myBindingList.Insert(0,newEntry)

dann ist jetzt zwar der Eintrag vorhanden, die Zuordnung zwischen DefaultCellStyle und den jeweiligen bereits vorhandenen Zeilen ist nun aber verschoben.
Der Listen-Eintrag mit Index x ist ja nun Eintrag mit Index x+1, hat aber den DefaultCellStyle von dem ursprünglichen x+1 geerbt... 🤔

Nun die Frage:
Wie kann ich das Problem pragmatisch lösen ohne durch das ganze DataGridView durchzugehen und den Cellstyle jeder Zeile manuell umzubiegen ? ?(

Später soll die Liste auch sortiert werden können, hier kommt das Problem dann nochmal auf.

Beste Grüße
MrDigi 8)

warum setzt Du nicht den defaultCellStyle des GridView selber?

Das war ja meine Frage, gibt es eine Möglichkeit dass das DataGridView selbst die Zuordnung zwischen Eintrag und DefaultCellStyle behält ?

Nun die Frage:
Wie kann ich das Problem pragmatisch lösen ohne durch das ganze DataGridView durchzugehen und den Cellstyle jeder Zeile manuell umzubiegen ? verwirrt

Ist das manuelle Zuordnen zwischen DefaultCellStyle und sortierten Zeilen also die einzige Möglichkeit ?