2011-09-20 50 views
11

Tengo un DataGridview, y estoy configurando algunas de las columnas para que solo sean de lectura con fines de ingreso de datos. Cuando hago eso, la columna permanece en blanco normal (aunque no permite la entrada). ¿Cómo puedo colorear la columna gris? He visto muchas muestras sobre cómo colorear filas, pero no columnas.cómo cambiar el color de una columna en datagridview?

¿Cómo puedo hacer que las columnas de solo lectura se vean grises?

Respuesta

23

establecer el DefaultCellStyle propiedad de las columnas seleccionadas intento.

Editar:

grid.Columns["NameOfColumn"].DefaultCellStyle.ForeColor = Color.Gray; 
9

acaba de cambiar el estilo para el objeto DataGridViewColumn,

myGrid.Columns["myColumn"].DefaultCellStyle.BackColor = Color.Red; 
+1

-Te dejo +1 por la forma correcta de cambiarlo (y especialmente por usar el nombre de columna en lugar del índice, odio usar el índice), pero quería gris ... no rojo. :-) – MAW74656

+0

es Color.Red no Colors.Red – Narayan

1
 DataGridViewColumn firstColumn = dataGridView.Columns[0]; 
     DataGridViewCellStyle cellStyle = new DataGridViewCellStyle(); 
     cellStyle.BackColor = Color.Grey; 

     firstColumn.DefaultCellStyle = cellStyle; 
+0

- veo que esto funcionaría, pero mucho más código que las otras soluciones. – MAW74656

+0

-yo realmente probé el cardo. :-) – MAW74656

2

Puede especificar los colores de fondo de celda de una columna al igual que el uso de la propiedad DefaultCellStyle de una DataGridViewColumn.

DataGridView1.Columns[0].DefaultCellStyle.BackColor = Color.Gray; 
Cuestiones relacionadas