Quiero ajustar todas las columnas de un DataGridView de acuerdo con el espacio requerido para mostrar todos sus datos por completo. Si el espacio requerido es menor que el espacio disponible, quiero que la cuadrícula llene este espacio excedente, pero si el espacio disponible no es suficiente para mostrar correctamente todas las columnas que quiero, DataGridView crea automáticamente un desplazamiento. ¿Hay una forma fácil de hacer esto?Ajuste las columnas de DataGridView para llenar el espacio disponible si la cuadrícula es más pequeña y use scroll en caso de que la cuadrícula sea más grande que el espacio disponible
Respuesta
Haga clic sobre DataGridView y seleccione "Editar columnas ...", luego vaya a "Diseño" y ajuste "AutoSizeMode" en "Rellenar".
Espero que esto es lo que estás buscando.
Saludos
propiedades DataGridView -> "AutoSizeMode" a "relleno" de no llenar todo el espacio disponible, sin embargo, si una columna es lo suficientemente grande como para ocupar mayor parte del espacio de rejilla, entonces resto del tamaño de las columnas se contraería .
Puede ser que usted puede intentar "AutoSizeMode" a "AllCells". Esto no solo llena toda la grilla, sino que también deja suficiente espacio para ver todas las columnas (con la barra de desplazamiento horizontal)
Ir a propiedad DataGridView, seleccione "AutoSizeColumnsMode". Establecer "Rellenar".
Si desea mantener su mesa (DataGridView) con formato de tal manera que todas las columnas son de tamaño automáticamente, pero una columna en particular, llena el espacio restante, se puede hacer algo como esto:
//Store the number of columns in a variable
int columnCount = dataGridView.Columns.Count;
//If we want the last column to fill the remaining space
int lastColumnIndex = columnCount - 1;
//Loop through each column and set the DataGridViewAutoSizeColumnMode
//In this case, if we will set the size of all columns automatically, but have
//the last column fill any extra space available.
foreach(DataGridViewColumn column in dataGridView.Columns)
{
if (column.Index == columnCount - lastColumnIndex) //Last column will fill extra space
{
column.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
}
else //Any other column will be sized based on the max content size
{
column.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
}
}
//Turn the scrollbars on for the DataGridView if needed
dataGridView.ScrollBars = ScrollBars.Both;
- 1. Estirar columnas para llenar todo el espacio disponible de DataGrid
- 2. Obtener la fila central de la cuadrícula para llenar el espacio disponible
- 3. ¿Cómo obtener controles en WPF para llenar el espacio disponible?
- 4. Tamaño de fuente WPF TextBlock para rellenar el espacio disponible en una cuadrícula
- 5. Obtener el tipo más grande disponible
- 6. JavaFX: ¿Cómo hacer que mi componente personalizado use todo el espacio disponible desde el diseño principal?
- 7. cómo tener un control de llenar todo el espacio disponible
- 8. Cómo hacer que DockPanel complete el espacio disponible
- 9. Diseño de CSS que llena el espacio disponible
- 10. QSplitter: ¿Cómo hacer que la segunda columna sea más pequeña?
- 11. CSS - Hacer que un div consuma todo el espacio disponible
- 12. Haz que una div ocupe todo el espacio vertical disponible?
- 13. ¿Cómo hacer una ToolStripComboBox para llenar todo el espacio disponible en una ToolStrip?
- 14. Rellene todo el espacio disponible en StackPanel
- 15. Obteniendo el punto más cercano en la cuadrícula al punto
- 16. Cambiar el tamaño de la fuente en la lista o cuadrícula de WPF para usar espacio correctamente
- 17. ¿Cómo puedo establecer el ancho de un DataGridColumn para que se ajuste a los contenidos ("Auto"), pero complete por completo el espacio disponible para el DataGrid en MVVM?
- 18. Automatización de una columna de cuadrícula para ocupar el espacio restante en el elemento primario
- 19. conseguir todo el espacio total y disponible en Android
- 20. Obtenga espacio de disco disponible en ruby
- 21. Adaptación de la nube de etiquetas al espacio disponible
- 22. Cómo hacer que la declaración if grande sea más legible
- 23. Obtener CSS Div para llenar la altura disponible
- 24. Fuerza <textarea> para ocupar todo el espacio disponible
- 25. Panel de apilamiento o cuadrícula cuál es el más recomendable
- 26. CSS marca de texto llenar toda la anchura disponible
- 27. ¿Cómo colocas dos divisiones adyacentes para que llenen el espacio disponible?
- 28. ¿Cómo hacer que un div se expanda para adaptarse al espacio vertical disponible?
- 29. ¿Cómo controlar el espacio disponible del búfer UDP de Linux?
- 30. cómo hacer que los elementos horizontales se expandan para cubrir el espacio disponible?
Si bien esto funciona para el escenario que presentó en la apertura de la respuesta, no responde la pregunta del OP, que es cómo auto-dimensionar las columnas para mostrar todos sus datos y luego crear una barra de desplazamiento (creo) si corresponde – Taegost
@Taegost Establecer el modo de tamaño automático en todas las columnas para AllCells hace que todas las columnas cambien de tamaño automáticamente para ajustarse a los datos en sus respectivas celdas. Hacer que la última columna llene el espacio restante hace lo que el OP desea. He editado mi respuesta original para establecer la propiedad ScrollBars en DataGridView. Establecer la propiedad Scrollbars en ScrollBars. Debería forzar a las barras de desplazamiento a aparecer si la tabla es demasiado grande para mostrarse. –
Sí, tienes razón. SOrry, tuve un gran problema cuando publiqué ese comentario :) – Taegost