Laden...

DataGridView Zelle färben

Erstellt von zerberos vor 15 Jahren Letzter Beitrag vor 15 Jahren 8.198 Views
Z
zerberos Themenstarter:in
520 Beiträge seit 2007
vor 15 Jahren
DataGridView Zelle färben

Hallo,

ich möchte in einem DataGridView bei bestimmten Zellen die Hintergrundfarbe auf rot setzen.

Hab es so versucht


DGV_Eingabe.Rows(0).Cells(1).Style.BackColor = Color.Red

Das funktioniert auch. Da färbt der mir in Row 0 die Zelle 1 rot

Wenn ich jetzt allerdings Zelle 2 rot färben möchte, also das hinzufüge


DGV_Eingabe.Rows(0).Cells(2).Style.BackColor = Color.Red

Ist garnichts mehr rot. Auch Zelle 1 nicht mehr. Was ist falsch?

C
3 Beiträge seit 2008
vor 15 Jahren

Hallo,
also bei mir funktionierts.
Habe allerdings auch eckige Klammern benutzt:

DGV_Eingabe.Rows[0].Cells[1].Style.BackColor = Color.Red;
DGV_Eingabe.Rows[0].Cells[2].Style.BackColor = Color.Red;

gruss chris

J
3.331 Beiträge seit 2006
vor 15 Jahren

Naja, das sieht ja wie VB.NET aus (ohne Semikolon am Ende der Zeile).

Zur Sache: An welcher Stelle steht überhaupt dieser Code? Jürgen

Z
zerberos Themenstarter:in
520 Beiträge seit 2007
vor 15 Jahren

Der Code steht in einen Button klick event

Z
zerberos Themenstarter:in
520 Beiträge seit 2007
vor 15 Jahren
DGV_Eingabe.Rows[0].Cells[1].Style.BackColor = Color.Red;  
DGV_Eingabe.Rows[0].Cells[2].Style.BackColor = Color.Red;  

Wo hast du das eingefügt bei dir?

C
3 Beiträge seit 2008
vor 15 Jahren

Hallo zerberos,

also ich hab es auch mal mit einem einfachen Click-Event ausgeführt:

 private void button1_Click(object sender, EventArgs e)
        {
           DGV_Eingabe.Rows[0].Cells[1].Style.BackColor=Color.Red;
           DGV_Eingabe.Rows[0].Cells[2].Style.BackColor = Color.Red;
        }

Und wenn ich es in einer Schleife einbinde funktioniert es auch.
vielleicht schreibst du ja mal wie du das bei dir eingebunden hast, wirst ja nicht so einen einfachen Aufruf wie ich haben 😉
gruss chris

E
26 Beiträge seit 2009
vor 15 Jahren

Hey,

ich habe ein ähnliches Problem. Ich möchte beim befüllen meines DataGridViews den Wert einer Zelle prüfen und sollte dieser unter 0 sein, dann soll die Zelle rot eingefärbt werden.
Um immer die aktuelle Zeile zu haben bin ich folgendermaßen vor gegangen.


str = dvgTest.CurrentRow;

str ist vom Typ DataGridViewRow und der aufruf liegt in einer foreach schleife.

Danach prüfe ich ob der entsprechende Wert < 0 ist und setze dann die Farbe.


if (p.Rest < 0)
{
       dvgTest.Rows[str.Index].Cells[14].Style.ForeColor = Color.Red;
}

Jedoch passiert gar nichts dabei 😦 hab die Werte überprüft (richtige Zeile und Zellenwert) aber weiß nun nimmer weiter.

Das Ganze wird dann in der Load Methode meines Panels aufgerufen.

Habt ihr eine Idee?

MFG
Elexil

5.299 Beiträge seit 2008
vor 15 Jahren

[0313] Datagridview colorieren](http://www.activevb.de/cgi-bin/tippupload/preview.pl?tippnr=313&sid=)

Der frühe Apfel fängt den Wurm.