Как разрешить "DataGridViewTextBoxColumn
" в DataGridView
поддерживает многострочное свойство?
Как установить столбец текстовых полей DataGridView в многострочный?
Ответ 1
Вы должны достичь этого, установив WrapMode
DefaultCellStyle
вашего DataGridViewTextBoxColumn
на true
.
Ответ 2
Я обнаружил, что вам нужно сделать две вещи, как в дизайнере, так и в текстовой ячейке, показывающей несколько строк. Как указано Тим С. Ван Харен, вам нужно установить WrapMode
DefaultCellStyle
вашего DataGridViewTextBoxColumn
на true
. И хотя это делает перенос текста, это не приводит к расширению строки, чтобы показать что-либо за пределами первой строки. В дополнение к WrapMode
значение AutoSizeRowsMode
DataGridView
должно быть установлено на соответствующее значение перечисления DataGridViewAutoSizeRowsMode
. Значение, такое как DataGridViewAutoSizeRowsMode.AllCells
, позволяет ячейке расширяться вертикально и отображать весь завернутый текст.
Ответ 3
Помимо установки WrapMode
для DefaultCellStyle
, вы можете сделать следующее:
- Вам нужно поймать GridView
EditingControlShowing
Event - Свойство Cast
Control
в EventArgs к типу, который вы хотите (т.е. текстовое поле, флажок или кнопка) - Используя этот литой тип, измените свойство
Multiline
, как показано ниже:
private void MyGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox TB = (TextBox)e.Control;
TB.Multiline = true;
}