2015-05-26 162 views
0

我需要在DataGridView中爲特定單元格着色。我試圖做,但它不起作用。在datagridview中爲單元格着色

dataGridView1.Rows[1].Cells[1].Style.BackColor = Color.Red; 

但對於整個列它的工作原理...

dataGridView1.Columns[2].DefaultCellStyle.BackColor = Color.Red; 

但我需要一個單元格,請如果你能幫助謝謝

+0

'dataGridView1.Rows [1] .Cells [1] .Style.BackColor = Color.Red;'在這裏工作正常。什麼是細胞類型? – TaW

+1

是的,應該工作,聽起來像CellStyle設置回來莫名其妙。檢查你的代碼,如果你無法找到發生這種情況的地方,你可以添加'DataGridView1_CellStyleChanged'並設置一個斷點並對其進行調試。 – Koryu

+0

應該是'dataGridView1_CellStyleContentChanged' ...太晚而無法編輯。 – Koryu

回答

1

試試這個

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
     { 
      DataGridViewCellStyle MakeItRed = new DataGridViewCellStyle(); 
MakeItRed.BackColor = Color.Red; 

//make a whole column red 
dataGridView1.Columns[1].DefaultCellStyle = MakeItRed; 

//make a specific cell red 
DataGridViewRow row2 = dataGridView1.Rows[2]; 
row2.Cells[2].Style = MakeItRed; 

     } 
+0

它可以工作,但是當dataGridView中的數據太多時,程序變得非常緩慢,因爲它運行在每個單元格上。有沒有其他方法可以做到這一點? – user2841795

相關問題