ändern backcolor-Zeile in datagridview
Problem habe ich mit wechselnden Zeilen Farbe in Windows Forms. Ich habe es mit Spalten und versucht, das gleiche für die Zeilen, aber es hat nicht funktioniert. Kann mir jemand zeigen, wie es zu tun?
Mein Code bisher:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
abc();
}
void abc()
{
DataTable hh = new DataTable();
hh.Columns.Add("1", typeof(string));
hh.Columns.Add("2", typeof(string));
hh.Columns.Add("3", typeof(string));
hh.Rows.Add(new object[] { "a", "b", "c" });
hh.Rows.Add(new object[] { "a1", "b1", "c1" });
hh.Rows.Add(new object[] { "a2", "b2", "c2" });
dataGridView1.DataSource = hh;
foreach (DataGridViewRow dr in dataGridView1.Rows) //trying to change all rows to orange
dr.DefaultCellStyle.BackColor = Color.Orange; //but it doesn't work
dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Orange; //doesn't work
dataGridView1.Refresh();
dataGridView1.Update();
dataGridView1.Columns[0].DefaultCellStyle.BackColor = Color.Beige; //this works
}
}
so etwas wie stackoverflow.com/a/14508584/1080742
InformationsquelleAutor Le Viet Hung | 2013-01-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie die Datagridview-CellPainting-event. Kopieren Sie einfach diesen code da.
If prüft, ob es ein Header ist oder nicht. Verwenden Sie die Farben, die Sie wollen.. Wenn Sie nicht wollen, zu malen, die header löschen Sie alle den code in den if.
Ich Sie möchten einen Farbverlauf backcolor mir sagen..
EDIT:
Hier ist ein code zu malen paar Zeilen in einer Farbe und beeinträchtigt in einem anderen. Sie müssen das Cellpainting-Ereignis zu..
EDIT 2: Wo ist das cellpainting-Ereignis?
Wenn Sie Sie DataGridView mit dem Formular-designer, der CellPainting-Ereignis wird in der "Show", rechts oben "Maus". Anderen Ereignissen in der Nähe sind "CellFormatting", "Cellparsing", etc. Sie können erstellen Sie ein Programm, aber wie gesagt, wenn Sie erstellt, das datagridview mit dem designer, die es verwenden, um erstellen Sie die Veranstaltung.
Überprüfen Sie das Bild, das ich gepostet
vielen Dank, Mann, ich bin so noob 🙂
Froh, Ihnen heraus zu helfen!
InformationsquelleAutor Andres
Verwenden DataGridView.RowsDefaultCellStyle, um den hintergrund Farbe für alle Zeilen:
UPDATE (wenn Sie malen möchten nur einige Zeilen), die Sie verwenden können, CellFormatting Veranstaltung:
Lesen Sie mehr über änderung im DataGridView-Stile auf der msdn-Website.
Was meinst du nur ein paar? was ist die Bedingung, um zu wissen, was Farbe ist und was nicht? Verwenden Sie mein code dazu.. ich update meine Antwort zu malen, ein paar Zeilen in einer Farbe und einem beeinträchtigen Zeile in einer anderen
siehe mein update
Nicht, dass code im Cellpainting-Ereignis lazyberezosky?
Jungs auf der msdn-Website sagen, dass anpassen die Formatvorlagen für Zellen mit bestimmten Werten, implementieren Sie einen handler für die DataGridViewCellFormatting-Ereignis.
InformationsquelleAutor Sergey Berezovskiy
InformationsquelleAutor Naoufel Bouslama