74

如何右对齐 DataGridView 列中的文本?我正在编写一个 .NET WinForms 应用程序。

4

7 回答 7

119
this.dataGridView1.Columns["CustomerName"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; 
于 2011-03-08T09:03:00.177 回答
8

要在 dataGridCell 中设置对齐文本,您有两种方法:

为特定单元格设置对齐方式或为行的每个单元格设置对齐方式。

对于一列,请转到Columns->DataGridViewCellStyle

或者

对于每一列,转到RowDefaultCellStyle

控制面板如下:

在此处输入图像描述

于 2016-10-04T12:50:23.953 回答
4

我知道这是旧的,但对于那些浏览这个问题的人来说,MUG4N 的答案将对齐使用相同 defaultcellstyle 的所有列。我没有使用 autogeneratecolumns,所以这是不可接受的。相反,我使用了:

e.Column.DefaultCellStyle = new DataGridViewCellStyle(e.Column.DefaultCellStyle);
e.Column.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;

在这种情况下e来自:

Grd_ColumnAdded(object sender, DataGridViewColumnEventArgs e)  
于 2015-11-26T20:07:24.540 回答
2

您可以通过 Foreach 循环使用这个简单的代码一次编辑所有列

        foreach (DataGridViewColumn item in datagridview1.Columns)
        {
            item.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
        }
于 2019-04-03T17:17:39.650 回答
0
<DataGridTextColumn Header="Quantity" Binding="{Binding Quantity}" >
  <DataGridTextColumn.ElementStyle>
    <Style TargetType="{x:Type TextBlock}">
       <Setter Property="HorizontalAlignment" Value="Right" />
    </Style>
  </DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
于 2020-07-29T09:28:15.417 回答
0

在我们处理对齐和配置时,使用 (C#)匿名类型可以减少重复性任务。更容易阅读和高级操作可以在一个地方进行编辑。就像在这个 datagridview dg配置中一样

foreach (var conf in new [] { 
  new { Col = 0, WidthPercent = 40, Align = DataGridViewContentAlignment.MiddleCenter } ,
  new { Col = 1, WidthPercent = 30, Align = DataGridViewContentAlignment.MiddleCenter } ,
  new { Col = 2, WidthPercent = 30, Align = DataGridViewContentAlignment.MiddleCenter }
})
{
  dg.Columns[conf.Col].Width = (int)(dg.Width * conf.WidthPercent/100);
  dg.Columns[conf.Col].DefaultCellStyle.Alignment = conf.Align;
}
于 2021-10-23T13:27:15.800 回答
-1

DataGridViewColumn column0 = dataGridViewGroup.Columns[0];
DataGridViewColumn column1 = dataGridViewGroup.Columns[1];
column1.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
column1.Width = 120;

于 2021-02-16T06:23:09.803 回答