我有一個DataGridView,我在C#Winforms項目中使用。網格不會自動生成列。我已經手動設置了列名和屬性。DataGridView單元格對齊不起作用
這包括單元的DefaultCellStyle。我希望所有類型爲DataGridViewCheckBoxColumn的單元格都居中對齊。我在設計器中爲這種類型的每一列手動設置了這種對齊方式。 datagridview加載時不會顯示這些更改。
作爲我的下一個方法中,我使用下面在DataBindingComplete事件中的代碼(其也沒有效果)
foreach (DataGridViewColumn dgvc in this.dgv_Automations.Columns)
{
if(dgvc.CellType == typeof(DataGridViewCheckBoxCell))
dgvc.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
}
當調試,上面的代碼已經有對準設置的中心。但是,它仍然沒有顯示在網格上。
我CAN得到它DataBindingComplete事件過程中工作,如果我做這樣的事情:
foreach (DataGridViewRow dgvr in this.dgv_Automations.Rows)
{
dgvr.Cells["isErrors"].Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
}
不過,我有很多這樣的列,並且它確實沒有意義的,做這種方式。編輯:我已經實現了這種方式,只有約10行有非常明顯的滯後從每個單元格上設置此屬性。
我的問題是:這樣做的正確方法是什麼?爲什麼設計器的DefaultCellStyle不起作用?
請不要用「C#」等來標題。這就是標籤的用途。 – 2012-03-21 19:50:29
已注意。將來不會。 – ImGreg 2012-03-21 19:53:34