我有一个带有DataGridView元素的简单表单。在构造函数中,添加了网格列并设置了DataTable。当我然后调用AutoResizeColumns()时,它不会像调用例如调用时那样调整列的大小。一个按钮事件。 代码看起来像这样(简化):
public MyDialog()
{
InitializeComponent();
dgv.Columns.AddRange(SomeClass.MyColumns);
dgv.DataSource = SomeClass.Table;
// This doesn't work:
dgv.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
}
AutoResizeColumns()通常可以正常工作,但不会在那时工作。顺便说一句,我需要这个来实现像请求/描述here这样的行为。有什么想法吗?
答案 0 :(得分:13)
在设置自动调整模式之前,我遇到了同样的问题:
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
答案 1 :(得分:8)
此外,我认为在调整大小之前对象需要是可见的...出于某种原因,绘画似乎不像人们期望的那样发生。
答案 2 :(得分:0)
在AutoResizeColumns()
包含数据后,您需要使用DataGridView
。这就是原因。在致电SomeClass.Table
AutoResizeColumns()
获取数据
答案 3 :(得分:0)
您还需要设置DataGridView的AutoSizeColumnsMode