我的DataGridView
应用程序中有一个WinForms
。基本上,我想在那里输入一些2D数据或类似的东西。这意味着,我想同时命名列和命名行。所以我做到了。但是后来出现了问题。如果列名很好,则行名往往不可见。例如:
我用来以某种方式“美化” DataGridView
的代码:
private void BeautifyTable(TableView tableView)
{
foreach (DataGridViewRow row in tableView.Rows)
{
row.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
}
foreach (DataGridViewColumn col in tableView.Columns)
{
col.HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
col.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
col.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
}
}
TableView
是我创建的一个类,它继承自DataGridView
。
所以现在我的问题是:有没有办法以某种方式使那些行名/标题以正常的方式显示(在这种情况下,它们是:s0, s1, s2..
,但它们就像从左边切掉一样)侧面)。
P.S是否有“拉伸”列的好方法?我的意思是,如果我有10列,它们将填满整个DataGridView
的宽度,但是如果我添加(我动态地这样做)5列,那么将有15列,但它们仍然适合,只是每列的宽度列会减少吗?
答案 0 :(得分:0)
增加行标题的宽度:
dataGridView1.RowHeadersWidth =
dataGridView1.RowHeadersWidth * 2; // or another value
答案 1 :(得分:0)
通过在Form.cs [Design]的datagridview的属性中将RowHeadersVisible设置为False来隐藏那些箭头,或者只需添加以下代码即可。
Me.DataGridView1.RowHeadersVisible = False
答案 2 :(得分:0)
我自己找到了最佳答案。
您还可以为行标题设置WitdthSizeMode
,如下所示:
tableView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;
这就是结果: