Увеличить высоту строки datagridview

#c# #datagridview #multiline

#c# #datagridview #многострочный

Вопрос:

Я хочу, чтобы DataGridView отображал данные из базы данных в многострочном виде, и я закодировал как

 Grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
Grid.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
  

но как только это свойство было установлено, я не могу увеличить высоту строки gridview с помощью

 Grid.Rows[1].Height =Grid.Rows[1].Height    40;
  

есть идеи о том, как это решить?

Ответ №1:

удалить Grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; и изменить размер с помощью кода

 for (int i = 0; i < this.dataGridView1.Rows.Count; i  )
{
   if(i =1 )
   {
      this.dataGridView1.Rows[1].Height =Grid.Rows[1].Height    40;
   }elese
   {
      this.dataGridView1.AutoResizeRow(i);
   }
}
  

Комментарии:

1. Это работает нормально. но есть ли какой-либо способ, которым я могу отменить Grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode. AllCells; свойство в любой отдельной строке, чтобы мне не нужно было перемещаться по всем строкам, поскольку база данных содержит огромное количество данных?

2. собираетесь ли вы загружать все данные в представление сетки? это не очень хороший способ. используйте подкачку и не ограничивайте количество записей на странице.

Ответ №2:

Что произойдет, если вы отключите это / вернетесь к значению по умолчанию:

 Grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
  

после получения значения высоты, а затем установки высоты?

Комментарии:

1. тогда многострочность теряется для других ячеек. и я этого не хочу.