none
DataGridView, Ändern der Zellfarbe abhängig vom Inhalt RRS feed

  • Frage

  • Hallo Meister(innen),

    Ich möchte eigentlich gerne folgendes machen: ich habe ein DataGridview, das mit Auftragsdaten gefüllt wird. Es gibt in der Abfrage einen Marker, der mir zeigt, wenn meine Jungs in der Produktion einen Auftrag begonnen haben. Vor jedem Auftrag wird ein Etikett ausgedruckt. Dabei setze ich in der Datenbank diesen Merker. Jetzt möchte ich in meinem Datagridview alle Auftragsdaten, die schon angefangen wurden z.B. rot hinterlegen. Ist es also möglich, einzelne Zeilen aus einem DataGridview farbig zu markieren? Wenn nicht, habt Ihr eine andere Idee zur Darstellung?

    Tausend Dank im Voraus für Eure Hilfe!

    Gruß
    mjanz
    Sonntag, 24. Januar 2010 11:12

Antworten

  • Hallo mjanz,

    Um die Farbe der ganzen Zeile zu ändern kann man die folgende Zeile verwenden:

    DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.Red


    wo i der Index der Zeile ist.

    Du bekommst in einer Spalte des DataGridViews den Marker.

    Nachdem die DataGridView gefüllt ist, gehst Du durch alle Zeilen auf dieser Spalte und wo der Marker ist färbst Du die Zeile z.B.:


    Schau Dir auch den folgenden Artikel an:

    For i = 1 To DataGridView1.Rows.Count - 1 '//angefangen von erster Zeile weil die erste Zeile die Titelzeile ist - ZeilenIndex fangt mit 0 an
                If DataGridView1.Item(1, i).Value = "Marker" Then '//(1,i) hier 1 mit deinem Index der Spalte wo der Marker auftaucht - Spaltenindex fangt mit 0 an
                    DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.Red
                End If
    Next i

     

    Gewusst wie: Festlegen von Schriftart- und Farbstilen im DataGridView-Steuerelement in Windows Forms à http://msdn.microsoft.com/de-de/library/z2akwyy7.aspx

    Grüße,

    Robert

    • Als Antwort markiert mjanz Montag, 25. Januar 2010 19:18
    Montag, 25. Januar 2010 11:53

Alle Antworten

  • Hallo mjanz,

    Um die Farbe der ganzen Zeile zu ändern kann man die folgende Zeile verwenden:

    DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.Red


    wo i der Index der Zeile ist.

    Du bekommst in einer Spalte des DataGridViews den Marker.

    Nachdem die DataGridView gefüllt ist, gehst Du durch alle Zeilen auf dieser Spalte und wo der Marker ist färbst Du die Zeile z.B.:


    Schau Dir auch den folgenden Artikel an:

    For i = 1 To DataGridView1.Rows.Count - 1 '//angefangen von erster Zeile weil die erste Zeile die Titelzeile ist - ZeilenIndex fangt mit 0 an
                If DataGridView1.Item(1, i).Value = "Marker" Then '//(1,i) hier 1 mit deinem Index der Spalte wo der Marker auftaucht - Spaltenindex fangt mit 0 an
                    DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.Red
                End If
    Next i

     

    Gewusst wie: Festlegen von Schriftart- und Farbstilen im DataGridView-Steuerelement in Windows Forms à http://msdn.microsoft.com/de-de/library/z2akwyy7.aspx

    Grüße,

    Robert

    • Als Antwort markiert mjanz Montag, 25. Januar 2010 19:18
    Montag, 25. Januar 2010 11:53
  • Tausend Dank Robert!

    Ich hatte es inzwischen selber rausgetüftelt. Trotzdem tausend Dank für Deine Hilfe!

    Gruß
    mjanz
    Montag, 25. Januar 2010 19:19