Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hot to change specific column header color only in datagridview?

Uses: VS 2005, C#, DataGridView, WinForms;

I need to color the font/background of a particular column's Header portion. I see that it can only be done to the entire column list's header instead of a single column. Any help greatly appreciated.

like image 381
hiFI Avatar asked Oct 25 '12 11:10

hiFI


3 Answers

First in your DataGridView you need to set EnableHeadersVisualStyles to false. After you've done that you can set the individual header style on each column.

        DataGridViewColumn dataGridViewColumn = dataGridView1.Columns[0];
        dataGridViewColumn.HeaderCell.Style.BackColor = Color.Magenta;
        dataGridViewColumn.HeaderCell.Style.ForeColor = Color.Yellow;
like image 86
helgeheldre Avatar answered Oct 17 '22 03:10

helgeheldre


Do it in this way

DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn();
{
     col.Name = "ColumnName";
     col.HeaderText = "HeaderName";
     col.DefaultCellStyle.ForeColor = Color.White;
     col.HeaderCell.Style.BackColor = Color.Red; //Column Header Color
     this.dataGridView1.Columns.Add(col);
}
like image 28
Ramgy Borja Avatar answered Oct 17 '22 04:10

Ramgy Borja


Create a method name called SetUpDataGridView

private void SetUpDataGridView()
{
  dataGridView1.Columns[0].HeaderText = "Emp.Id";         
  dataGridView1.Columns[0].HeaderCell.Style.BackColor = Color.Chartreuse;
  dataGridView1.Columns[1].HeaderText = "Emp. Name";
  dataGridView1.Columns[1].HeaderCell.Style.BackColor = Color.Fuchsia;
}

Add the method in Form_Load. You can add different color for every header

like image 2
John Britto Avatar answered Oct 17 '22 03:10

John Britto