繁体   English   中英

为什么单元格文本对齐在C#中的DataGridView中不起作用?

[英]Why doesn't cell text alignment doesn't work in DataGridView in C#?

我想输入一个框,并且有一个DataGridView。 但是对齐标题或单元格的文本内容不起作用。

我在运行时创建DataGridView的代码:

DataGridView CreateInputBox(int proc,int mac)
        {
            DataGridView databox = new DataGridView();
            for (int i = 0; i < mac; i++)
            {
                databox.Columns.Add("col" + i, "M" + i);
                databox.Columns[i].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            }
            for (int i = 0; i < proc; i++)
            {
                databox.Rows.Add();
            }
            databox.AutoSize = true;
            databox.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
            return databox;
        }

结果:

在此处输入图片说明

那么如何对标题和单元格进行对齐?

如果我正确理解,答案就在这里: 在datagridview中右对齐列不起作用

问题在于排序,因为启用后,DataGrid会为排序字形保留一些位置。 因此,如果禁用排序,它应该可以按预期工作:

this.DataGridView1.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable;

将此添加为答案,以便将来将来到这里的每个人都可以轻松找到解决问题的方法。

上面的代码仅使每个列的单元格居中,而不使每列的标题居中。

尝试在“ for”中添加此行:

databox.Columns[i].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;

Src: 更改DataGridView标题单元格的文本对齐方式和字体大小

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM