我想创建一个输入框,我有一个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;
}
结果:
那么如何对标题和单元格进行对齐?
答案 0 :(得分:2)
如果我理解正确,答案就在这里:Right align a column in datagridview doesn't work
问题在于排序,因为当它启用时,DataGrid会为排序标志符号保留一些位置。因此,如果您禁用排序,它应该按预期工作:
this.DataGridView1.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable;
将此作为答案添加,以便将来到这里的所有人都能轻松找到解决问题的方法。
答案 1 :(得分:-1)
上面的代码只是将单元格置于列的前面,而不是每列的标题。
尝试在“for”中添加此行:
databox.Columns[i].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
Src:Changing DataGridView Header Cells' Text Alignment And The Font Size