2012-10-25 43 views
5

Usi: VS 2005, C#, DataGridView, WinForms;cambia colore intestazione colonna specifica solo in datagridview

Ho bisogno di colorare il carattere/lo sfondo della porzione di intestazione di una particolare colonna. Vedo che può essere eseguito solo sull'intestazione dell'intera colonna anziché su una singola colonna. Qualsiasi aiuto molto apprezzato.

risposta

13

Per prima cosa in DataGridView è necessario impostare EnableHeadersVisualStyles su falso. Dopo averlo fatto è possibile impostare lo stile di intestazione individuale su ogni colonna.

 DataGridViewColumn dataGridViewColumn = dataGridView1.Columns[0]; 
     dataGridViewColumn.HeaderCell.Style.BackColor = Color.Magenta; 
     dataGridViewColumn.HeaderCell.Style.ForeColor = Color.Yellow; 
+0

Grazie amico. Ha funzionato! :) – hiFI

+0

Sono stato in grado di modificare il carattere in grassetto senza modificare EnableHeadersVisualStyles su false utilizzando dgc.HeaderCell.Style.Font = new Font (dgc.HeaderCell.DataGridView.DefaultCellStyle.Font, FontStyle.Bold) dove dgc è DataGridViewColumn I'm cercando di modificare. –

+0

@B H: Funziona per il carattere ma non per i colori. – TaW

2

farlo in questo modo

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); 
}