c# - una - ¿Cómo establecer la columna del cuadro de texto DataGridView en varias líneas?
estilo datagridview c# (3)
¿Cómo se permite que " DataGridViewTextBoxColumn
" en DataGridView
compatible con la propiedad Multiline ?
Debería poder lograr esto estableciendo el WrapMode
del DefaultCellStyle
de su DataGridViewTextBoxColumn
en true
.
He descubierto que hay dos cosas que debe hacer, tanto en el diseñador, para hacer que una celda de texto muestre varias líneas. Como mencionó Tim S. Van Haren , debe establecer WrapMode
del DefaultCellStyle
de su DataGridViewTextBoxColumn
en true
. Y aunque eso hace que el texto se ajuste, no hace que la fila se expanda para mostrar nada más allá de la primera línea. Además de WrapMode
, AutoSizeRowsMode
de DataGridView
debe establecerse en el valor de enumeración DataGridViewAutoSizeRowsMode
apropiado. Un valor como DataGridViewAutoSizeRowsMode.AllCells
permite que la celda se expanda verticalmente y muestre todo el texto envuelto.
Además de configurar WrapMode
de DefaultCellStyle
, puede hacer lo siguiente:
- Debes atrapar el evento
EditingControlShowing
de GridView - Emitir propiedad
Control
en los EventArgs al tipo que desee (es decir, cuadro de texto, casilla de verificación o botón) - Usando ese tipo fundido, cambie la propiedad
Multiline
como se muestra a continuación:
private void MyGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox TB = (TextBox)e.Control;
TB.Multiline = true;
}