为什么我的DataGridView列标题行在单击(排序)时会自动调整大小?

时间:2019-06-10 19:22:35

标签: datagridview

在最初向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出现时所有行和列都具有适当的大小,并且用户采取的任何操作都不应更改行或列的大小(我禁用了用户手动调整行或列大小的功能)

0 个答案:

没有答案