#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. тогда многострочность теряется для других ячеек. и я этого не хочу.