Kann die Datenfarbe der Datagridview-Zelle bei Verwendung einer Datenquelle nicht ändern

8

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?

    
Nick 20.09.2012, 15:30
quelle

2 Antworten

19

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:

%Vor%

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.

    
David Hall 20.09.2012, 21:39
quelle
5

Dies ist etwas, das ich vor kurzem implementiert habe, ich weiß nicht, ob es helfen wird ??

%Vor%     
Derek 20.09.2012 16:57
quelle

Tags und Links