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