2011-09-20 14 views
11

Mam DataGridview i ustawiam niektóre kolumny do odczytu tylko do celów wprowadzania danych. Kiedy to zrobię, kolumna pozostanie normalna biała (chociaż nie pozwala na wejście). Jak mogę pokolorować szarą kolumnę? Widziałem wiele próbek, jak kolorować wiersze, ale nie kolumny.jak zmienić kolor kolumny w datagridview?

Jak ustawić, aby kolumny w trybie "tylko do odczytu" były szare?

Odpowiedz

23

Spróbuj ustawić właściwość DefaultCellStyle Adla wybranych kolumn.

Edit:

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

tylko zmienić styl dla obiektu DataGridViewColumn,

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

-Dodaj +1 za właściwą zmianę (a zwłaszcza za używanie nazwy kolumny zamiast indeksu, nienawidzę używać indeksu), ale chciałem mieć szary ... nie czerwony. :-) – MAW74656

+0

jego Color.Red nie Colors.Red – Narayan

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

     firstColumn.DefaultCellStyle = cellStyle; 
+0

- Widzę, że to zadziała, ale o wiele więcej kodu niż inne rozwiązania. – MAW74656

+0

-W rzeczywistości próbowałem oset. :-) – MAW74656

2

Można określić kolor tła komórka dla kolumny podobnie jak przy użyciu właściwości DefaultCellStyle kolumny DataGridViewColumn.

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