Estoy vinculando una DataTable a GridView. No se ajusta a la altura y el ancho de la DataTable. ¿Cómo puedo estirar el ancho de la grilla que muestro todas las columnas y reducir la altura si las filas son pocas?DataGridView, Ajuste de ancho y alto a DataTable
Respuesta
sólo tiene que ir a las propiedades de la cuadrícula de datos =>
y luego a la sección Diseño =>
AutoSizeColumnsMode establecerlo en Rellenar ...
primer lugar, su forma tendría que ser lo suficientemente grande para el DataGridView para expandir y mostrar todas las columnas. En la captura de pantalla, no parece lo suficientemente amplia. Puede establecer el tamaño de la vista de cuadrícula de datos manualmente, pero es raro que conozca el ancho exacto de cada columna en el momento del diseño porque no sabe cuánto habrá en cada columna en tiempo de ejecución. Por ejemplo, su columna de descripción de facturas podría tener cadenas que varían en longitud.
Lo que normalmente hago en casos como el suyo es poner un control de divisor en el formulario. El cuadro de texto en la parte superior y el botón Importar facturas irían en el panel superior del control del divisor, y el DataGridView iría en el panel inferior. Luego, configure la propiedad Dock del DataGridView para llenar el panel inferior del control del divisor. De esta forma, cuando el usuario cambie el tamaño del formulario, DataGridView crecerá/disminuirá con él.
Puede controlar aún más la forma en que aparecen las columnas configurando la propiedad DataGridView.AutoResizeRows.
Simplemente dándole esto como una opción, no estoy al tanto de ninguna manera de hacer que la grilla se redimensione automáticamente a los datos que se muestran. Es posible que pueda calcular el alto/ancho de las filas y luego cambiar manualmente el tamaño de la cuadrícula en el código, pero me aseguraré de que realmente necesite ese requisito primero.
Para autoSize las columnas para ajustar los datos (a lo ancho) y luego autoSize la forma para adaptarse a la gridview (a lo ancho), utilice el siguiente código:
foreach (DataGridViewColumn column in dataGridView1.Columns)
column.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
this.Width = dataGridView1.Width + 100;
donde DataGridView1 es el nombre de el Datagridview en este ejemplo, y this
se refiere a la instancia del formulario. El 100 es una constante para la cantidad de píxeles que desea más ancho que la vista de cuadrícula de datos. (Nota: es posible que desee un poco de ancho de comprobación para asegurarse de que la forma y el gridview datos no son más anchas que la pantalla del usuario)
Para autoSize DataGridView para adaptarse a las filas (altura-wise) y luego autoSize la forma de encajar el gridview (altura-wise), utilice el siguiente código:
int totalRowHeight = dataGridView1.ColumnHeadersHeight;
foreach (DataGridViewRow row in dataGridView1.Rows)
totalRowHeight += row.Height;
dataGridView1.Height = totalRowHeight;
this.Height = dataGridView1.Height + 100;
donde DataGridView1 es el nombre de la Datagridview en este ejemplo, y this
se refiero a la instancia de la forma. El 100 es una constante para la cantidad de píxeles que desea más alta que la vista de cuadrícula de datos. (Nota: es posible que desee una cierta altura comprobación para asegurarse de que la forma y el gridview datos no son más altos que la pantalla del usuario)
La primera parte de la respuesta hace que las columnas se ajusten al contenido de la cuadrícula de datos, pero * no * hace que la cuadrícula de datos se ajuste a su contenido (~ = las columnas). – Spook
Esto funciona suponiendo que todas las filas tienen la misma altura, incluso cuando la primera fila de cabecera tiene una altura diferente (por ejemplo, se envuelven las cabeceras largas)
If List.RowCount = 0 Then
List.Height = 0
ElseIf List.RowCount = 1 Then
List.Height = List.ColumnHeadersHeight
Else
List.Height = List.ColumnHeadersHeight + List.Rows(1).Height * (List.RowCount + 1)
End If
Establecer la datagridviewautosizecolumn a "All" Entonces, en el formulario que contiene el DataGridView, suponiendo que rellenar la vista de cuadrícula de datos en el controlador de eventos de carga o algún otro controlador de eventos como se desee siempre que se cargan los datos (debe ser, después de cargar datos) escribir: (VB)
Me.Width = DataGridView1.Width + 50 ' Number of pixels wider than the datagridview you want the form to be.
datagridview1 es el nombre de su control de datagridview. Me hace referencia al formulario que contiene el control datagridview.
Puede necesitar maximizar la ventana o anclarla en la parte superior e izquierda para garantizar su instalación, dependiendo de la cantidad de datos que se llenen.
- 1. Ancho y alto completos SVG
- 2. DataGridView Alto de fila Autotamaño
- 3. jQuery UI ancho y alto del diálogo en función del ancho y alto de la pantalla
- 4. Establecer ancho y alto de escena
- 5. GridViewColumn ajuste de ancho
- 6. YUI Datatable Ancho
- 7. Configuración de ancho y alto UIWebView
- 8. Configuración de ancho y alto en una etiqueta A
- 9. Actualización de activación en DataTable vinculada a DataGridView
- 10. Google Map .InfoWindow Establecer alto y ancho
- 11. JS "Ventana" ancho-altura frente a "pantalla" ancho-alto?
- 12. Ancho y alto personalizados en DOMPDF
- 13. Tamaño del navegador (ancho y alto)
- 14. ¿Relleno agrega a div ancho/alto?
- 15. ¿Cómo construir una DataTable desde un DataGridView?
- 16. Calcular ancho y alto de Flv y Swf usando C#
- 17. ancho de columna en rich: datatable
- 18. ancho/alto de CSS pixel y porcentaje de cálculo combintaion?
- 19. Ancho y alto de la parte web de SharePoint dinámico
- 20. HTML/CSS: ajuste el tamaño de la fuente para llenar el alto y ancho de los padres
- 21. ¿Ancho y alto de un menú de opciones?
- 22. Configuración de ancho y alto de DIV en JavaScript
- 23. absoluto vs ancho y alto de posición relativa
- 24. Animar un ancho y alto de ventana WPF
- 25. Raphael.js - imagen con su tamaño original de ancho y alto?
- 26. Mysql, remodele los datos de largo/alto a ancho
- 27. DataGridView: cómo establecer el ancho de columna?
- 28. Establecido dinámicamente ancho y alto de TextView en Android
- 29. ¿Cómo obtengo el ancho y alto de un lienzo HTML5?
- 30. cómo obtener ancho y alto de ventana con YUI?
this.ApplicationObjectRecords.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; es para evitar el espacio de columna no utilizado, no el espacio de fila. – zytham
@Thomas VT: Gracias, me salvaste el día. – user1298925
Lo hiciste bien. – CodeRunner