2011-09-20 86 views
11

Tôi có một DataGridview và tôi đang thiết lập một số cột để chỉ đọc cho mục đích nhập dữ liệu. Khi tôi làm điều đó, cột vẫn giữ màu trắng bình thường (mặc dù nó không cho phép nhập). Làm cách nào để tô màu xám cho cột? Tôi đã thấy rất nhiều mẫu về cách tô màu hàng, nhưng không phải cột.làm thế nào để thay đổi màu sắc của một cột trong datagridview?

Tôi làm cách nào để các cột chỉ đọc có màu xám?

Trả lời

23

Hãy thử đặt thuộc tính DefaultCellStyle cho các cột đã chọn.

Edit:

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

chỉ cần thay đổi phong cách cho đối tượng DataGridViewColumn,

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

-Được bạn +1 đúng cách để thay đổi (và đặc biệt là sử dụng tên cột thay vì chỉ mục, tôi ghét sử dụng chỉ mục), nhưng tôi muốn xám .... không phải màu đỏ. :-) – MAW74656

+0

Color.Red của nó không phải Colors.Red – Narayan

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

     firstColumn.DefaultCellStyle = cellStyle; 
+0

-Tôi thấy điều này sẽ làm việc, nhưng cách mã nhiều hơn các giải pháp khác. – MAW74656

+0

-Tôi thực sự đã thử Thistle. :-) – MAW74656

2

Bạn có thể chỉ định màu nền di động cho một cột như vậy bằng cách sử dụng DefaultCellStyle bất động sản của một DataGridViewColumn.

DataGridView1.Columns[0].DefaultCellStyle.BackColor = Color.Gray; 
Các vấn đề liên quan