我有一个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