在最初向DataGridView加载数据后,当我单击列标题行以按特定列排序时,标题行突然收缩,仿佛根据行的内容最小化其高度。
按列进行的进一步排序不会影响标题行的高度。
在加载DataGridView的代码末尾有几行内容:
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dgv.AutoResizeColumns();
dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dgv.AutoResizeColumnHeadersHeight();
该代码在加载所有行后运行。我本以为最后两行可以确保标题行处于其最终高度,但是最初显示时具有更高的高度,并且在排序后才达到最终高度。
我希望它最初显示时已设置较小的标题高度。
我该怎么做?
我已经尝试将ColumnHeadersHeightSizeMode设置为AutoSize,并在加载所有行后调用AutoResizeColumnHeadersHeight()。
dgv.Rows.Clear();
dgv.Rows.Add(records.Count);
int i = 0;
foreach (var record in records) {
// Load record into row[i].
++i;
}
// This code should ensure that the rows and columns are all properly sized.
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
dgv.AutoResizeColumns();
dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dgv.AutoResizeColumnHeadersHeight();
我希望DataGridView出现时所有行和列都具有适当的大小,并且用户采取的任何操作都不应更改行或列的大小(我禁用了用户手动调整行或列大小的功能)