После первоначальной загрузки 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 будет отображаться со всеми размерами строк и столбцов, и что никакие действия, предпринимаемые пользователем, не должны изменять размер строк или столбцов (я отключил возможность пользователя изменять размеры строк или столбцов вручную) .