Автоматическая настройка высоты строк DataGridView'а

Просьба помочь, никак не могу настроить экземпляр DataGridView, чтобы он изменял Высоту строк в соответствии с их содержимым. Пробовал AutoSizeRowMode ставить на AllCells, но он блокировал изменение высоты и при этом сам ее под содержимое ячеек строки не подгонял (использовал вместе с AutosizeColumnsMode Fill), DefaultCellStyle.Wrap ставил True, не получалось

Просьба помочь, заранее спасибо

UPD

введите сюда описание изображения

"161" Не влазит, и так с любым количеством символов


Ответы (1 шт):

Автор решения: Alexander Petrov

Покажу на примере.

Кладём на форму DataGridView.

Создаём и заполняем источник данных:

var dt = new DataTable();
dt.Columns.Add();
dt.Columns.Add();

for (int i = 0; i < 5; i++)
    dt.Rows.Add("aaa\r\nbbb", new string('x', 50));

Привязываем его к нашему гриду:

dataGridView1.DataSource = dt;

Если включить авторазмер строк:

dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

это ничего не изменит, т. к. пока что нет реакции на наличие переводов строк.
Добавим её:

dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True;

Теперь высота строк изменилась (увеличилась) и в первой колонке отображаются две строки.
Содержимое второй колонки при этом по-прежнему автоматически не переносится.

→ Ссылка