【问题标题】:How can I center the heading in a column on a DataGridView?如何在 DataGridView 的列中将标题居中?
【发布时间】:2023-03-18 13:26:02
【问题描述】:

我有一个奇怪的问题,它可能是一个简单的解决方案,但经过大量研究,我似乎找不到解决方案。

我有一个DataGridView,我试图将列标题居中,但结果是居中出现了左偏——几乎就像一个缩进问题。我在一两个网站上看到过一些关于这个问题的帖子,但从来没有一个解决方案。有什么想法吗?

这是我目前尝试使用的语句:

DataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter

【问题讨论】:

    标签: vb.net winforms datagridview datagridviewcolumn


    【解决方案1】:

    您发布的代码是正确的:您需要设置DataGridView 控件的ColumnHeadersDefaultCellStyle 属性。

    但是,您需要创建一个新的DataGridViewCellStyle 类并将那个分配给ColumnHeadersDefaultCellStyle 属性。您不能将Alignment 属性修改为除非您已将 DataGridViewCellStyle 类分配给此属性,否则您的代码示例会显示。

    因此,例如,以下代码在空白项目中实现了完美居中的列标题:

    Dim dgvColumnHeaderStyle As New DataGridViewCellStyle()
    dgvColumnHeaderStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
    
    myDataGridView.ColumnHeadersDefaultCellStyle = dgvColumnHeaderStyle
    

     


    将来,您可能会发现从 Designer 中执行这些类型的事情会更容易。如果您仍需要通过代码自己完成,可以查看创建的*.Designer.vb 文件以了解它是如何完成的。


    编辑:我刚才注意到您在列中提到的轻微偏移 - 它确实在每个标题的右侧创建了一些额外的填充。不过,这不是错误。有一个更简单的解释。

    ListView 一样,DataGridView 支持按列排序。因此,在计算中心对齐时,每个列标题都会保留足够的空间来显示排序字形(通常是箭头)。

    如果您希望列标题完全居中,则需要禁用排序。将列的SortMode 属性设置为“NonSortable”。这应该可以防止在列文本居中或右对齐时为排序字​​形保留空间。

    【讨论】:

    • 感谢您的快速回复。不过我注意到的是,你得到了同样的左偏——每个标题都不是很居中。我正在阅读一些似乎表明存在错误的信息,该错误要求每个标题都用几个空格填充,但显然它因列标题的长度而异。它看起来是要在文本之前添加大约 2.5% 的填充。显然,这听起来不像是一个解决方案。我已经尝试了几种方法并不断得到同样的结果。很奇怪吧?
    • 顺便说一句,2.5% 是列的总宽度...抱歉因遗漏而产生的任何混淆。
    • @Keith:我刚刚注意到你在说什么。这很有趣,我以前从来没有注意过。我所有的朋友都叫我强迫症——这会让他们知道!我用一些新的见解更新了我的答案。
    • 以防万一其他人出现。至少在 .NET 4.5 中,字段名称是“DataGridViewColumnSortMode.NotSortable”而不是 NonSortable。
    • 至少有人解释了右边的额外填充。我以为我疯了
    【解决方案2】:

    如果你想居中或使用列标题文本的任何其他对齐方式,你可以使用这个

    dgvResults.Columns("ColumnName").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
    

    【讨论】:

      猜你喜欢
      • 2020-09-14
      • 2020-03-05
      • 2018-04-16
      • 1970-01-01
      • 1970-01-01
      • 2021-12-01
      • 2011-03-28
      • 2016-02-19
      • 1970-01-01
      相关资源
      最近更新 更多