проблема с подгонкой высоты datagridview в соответствии с содержанием - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть сетка данных, стиль которой сохраняется следующим образом

dgvCreatinine.AutoGenerateColumns = False
        dgvCreatinine.AutoSize = False
        dgvCreatinine.AutoResizeRows()
        dgvCreatinine.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill
        dgvCreatinine.AutoResizeRows(DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders)
        dgvCreatinine.DataSource = dtTemp

Он выглядит так, как показано на прилагаемом изображении

enter image description here

Как вы можете видеть, gridview не изменяет размер содержимого по строке.Может кто-нибудь сказать мне, как это можно сделать?Заранее спасибо.

1 Ответ

0 голосов
/ 21 сентября 2018

Вы можете просто установить высоту всего элемента управления, используя эту формулу

DataGridViewHeight = HeaderHeight + NumberOfRows * RowHeight

Код:

dgvCreatinine.Height =
    dgvCreatinine.ColumnHeadersHeight _
    + dgvCreatinine.Rows.OfType(Of DataGridViewRow).First().Height * dgvCreatinine.Rows.Count()

Это работает , но может использовать некоторые настройки.Например, может быть лучший способ получить высоту строки.И вам также может понадобиться добавить один или два пикселя в зависимости от границ.Кроме того, если у вас есть базовый источник данных, вы можете получить из него количество строк.

Этот код следует вызывать при добавлении или удалении строки, обновлении привязок данных и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...