C#DataGridview ColumnHeader多行文本居中或右对齐

本文关键字:右对齐 文本 ColumnHeader C#DataGridview | 更新日期: 2023-09-27 18:29:01

我在C#数据网格视图中遇到一个问题,即我在该数据网格视图的ColumnHeaders中有多行文本,并且我希望文本位于两行的中心。目前,它只在有单行时显示居中文本,但在多行的情况下,它的行为如下:

|L1        |
|L2 Text   | 

我希望它以的形式出现

|    L1    |
| L2 Text. |

我尝试了属性

DG.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
DG.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

我没有太多的点上传图片或截图,所以很抱歉。如有任何帮助,我们将不胜感激,提前表示感谢。

C#DataGridview ColumnHeader多行文本居中或右对齐

我终于拿到了。这段代码对我有效。

dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader;
dgv.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

无论如何,谢谢。

试试这个。。

在您的网格视图加载方法中。

foreach(DataGridViewColumn col in dgvYourGridName.Columns)
{
    col.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
}

我知道对于GridView,您可以添加HorizontalContentAlignment="居中";以及TextBlock.TextAlignment=";"居中";到xaml中的GridViewColumnHeader标记。

<GridView>
    <GridViewColumn>
        <GridViewColumnHeader 
            HorizontalContentAlignment="Center"
            TextBlock.TextAlignment="Center" Content="Some String"/>

我想类似的东西也适用于DataGridView。