关于c#:DataGridView单元格对齐不起作用 您所在的位置:网站首页 datagridview数据居中对齐 关于c#:DataGridView单元格对齐不起作用

关于c#:DataGridView单元格对齐不起作用

2024-07-12 20:37| 来源: 网络整理| 查看: 265

我有一个在C#Winforms项目中使用的DataGridView。网格不会自动生成列。我已经手动设置了列名和属性。

这包括单元的DefaultCellStyle。我希望所有类型为DataGridViewCheckBoxColumn的单元格都居中对齐。我已经在设计器中为此类型的每一列手动设置了此对齐方式。加载datagridview时不会显示这些更改。

作为我的下一个方法,我在DataBindingComplete事件中使用了下面的代码(该代码也无效)

12345foreach (DataGridViewColumn dgvc in this.dgv_Automations.Columns) {     if(dgvc.CellType == typeof(DataGridViewCheckBoxCell))         dgvc.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; }

调试时,以上代码已经将对齐方式设置为中心。但是,它仍然不会显示在网格上。

如果在DataBindingComplete事件期间执行以下操作,则可以正常工作:

1234foreach (DataGridViewRow dgvr in this.dgv_Automations.Rows) {     dgvr.Cells["isErrors"].Style.Alignment = DataGridViewContentAlignment.MiddleCenter; }

但是,我有许多这样的专栏,用这种方法这样做确实没有任何意义。编辑:我已经实现了这种方式,只有大约10行,从每个单元格上设置此属性有非常明显的滞后。

我的问题是:这样做的正确方法是什么?为什么设计器DefaultCellStyle不起作用?

相关讨论 请不要在标题前加上" C#"等。 那就是标签的用途。

根据MSDN,DataGridViewColumn的DefaultCellStyle被通过DataGridView.RowsDefaultCellStyle,DataGridView.AlternatingRowsDefaultCellStyle,DataGridViewRow.DefaultCellStyle和DataGridViewCell.Style属性指定的样式覆盖。 因此,可以将这些样式之一设置为与所需对齐方式不兼容的值(例如DataGridViewContentAlignment.NotSet或DataGridViewContentAlignment.TopLeft)

一个有关DefaultCellStyling以及继承如何工作的更有用的链接。

http://msdn.microsoft.com/zh-CN/library/1yef90x0.aspx

原来,我设置了一个DefaultRowStyle来覆盖DefaultCellStyle。 确保检查所有样式!!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有