Ich habe ein interessantes Thema. Ich versuche, eine Datentabelle als Datenquelle für eine Datagridview zu verwenden. Ich möchte einige Zellen der Tabelle färben, um verschiedene Dinge anzuzeigen, aber aus irgendeinem Grund wird die Farbe nicht angezeigt. Der folgende Code zeigt also eine ungefärbte Zelle.
%Vor%Ich kann nur nach dem Laden des ersten Formulars eine Farbe anzeigen lassen (z. B. Festlegen einer Zellenfarbe für das OnClick-Ereignis). Wenn ich jedoch die Zeilen und Spalten für die Ansicht wie im folgenden Code explizit erstelle, funktioniert die Farbgebung.
%Vor%Ich möchte den Code nicht auf diese Weise haben. Weiß jemand, was hier passiert, was mich daran hindert, die Zellen zu färben?
Wenn Sie versuchen, die Zellenfarbe innerhalb des Konstruktors des Formulars zu setzen, werden Sie schlagen, bevor die Datenbindung abgeschlossen ist, so dass die Änderungen an den Zellen nicht haften bleiben (fragen Sie mich nicht warum, nur eines dieser Probleme) mit dem DataGridView
.
Die einfachste Lösung ist es, die Farben etwas später zu setzen - normalerweise in einem DataBindingComplete
Event-Handler:
Dies ist für die statische Färbung des Rasters geeignet. Wenn Sie möchten, dass sich die Farben entsprechend den Änderungen im Raster ändern, verwenden Sie das Ereignis CellFormatting
, um die Zellen zu ändern.
Tags und Links .net c# datagridview