2017-05-12 4 views
-1

Ich versuche, eine Zellfarbe in meiner Datentabelle Base auf den Wert zu ändern, der vorhanden und abwesend ist. Ich benutzte Knopf, um meine Datentabelle zu füllen, die auf meiner Datenbank basiert, ich habe 53 Spalten (Woche 1 bis Woche 53 + Name).Wie ändert man die Zellenfarbe in C#?

+0

Default? –

+0

Was hast du probiert? Sicherlich hätte Google viele Treffer bezüglich der Gestaltung eines Datenrasters oder eines anderen von Ihnen verwendeten Steuerelements erzielt. –

+0

Bitte geben Sie den genauen Typ des Steuerelementtyps an (DataGridView, DataGrid, ein anderes Steuerelement möglicherweise) –

Antwort

0

Sie können DataGridView.CellFormatting Event handhaben und Ihre Entscheidung dort machen:

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{ 
    if(e.ColumnIndex == 0 && YourCondition)e.CellStyle.BackColor = System.Drawing.Color.Red; 
} 
+0

Wird es für alle meine Zellen funktionieren? Ich habe Zweifel (ich habe es noch nicht versucht), dass alle Spalten oder Reihen in grün oder rot gefärbt werden. und nicht nur die spezifische Zelle. beispielsweise. in meiner woche 1 habe ich diese name | Woche1 | Woche2 | myname | anwesend | abwesend | die Zelle mit "present" als Wert wird grün gefärbt und die Woche 2 mit "abwesend" als Wert wird rot dargestellt –

+0

Ja, Sie können Ihre Zelle mit 'e.ColumnIndex' überprüfen, da ich zu 'if' Bedingung –

+0

hinzugefügt habe Würdest du mir dabei helfen? da ich keine Informationen darüber habe, wie das funktioniert. Mein Professor hat uns nur gesagt, wie man Datagrid bevölkert und das ist es. –

0
try 
       { 
        if (e.Value != null) 
        { 
         // Check for the string "pink" in the cell. 
         string stringValue = (string)e.Value; 
         stringValue = stringValue.ToUpper(); 
         if ((stringValue.IndexOf("PRESENT") > -1)) 
         { 
          e.CellStyle.BackColor = Color.Green; 
         } 
         else 
         { 
          e.CellStyle.BackColor = Color.Red; 
         } 
        } 
       } 
       catch (Exception ex) 
       { 
        e.CellStyle.BackColor = Color.Red; 
       } 

      } 
+0

Ich habe diesen Code verwendet und alles, was ich tun muss, ist es 50 Mal zu wiederholen –

Verwandte Themen