Principales respuestas
Achicar el tamaño de los reglones de la grilla y ocupar todo el espacio vb 2005

Pregunta
-
Hola! quiero achicar el tamaño de los reglones de la grilla, por ahí leí que era con la función RowsDefaultCellStyle.Font.Size pero no la puedo implementar. Además, no logro hacer que el cuando no hay datos en la grilla, las columnas ocupen todo el espacio de la grilla (que no aparezca lo gris).
Ojalá alguien sepa como! Gracias!
viernes, 9 de julio de 2010 22:25
Respuestas
-
Hola JuanPabloSepulveda
Es muy sencillo, para todo esto se usan los autosizemode tanto de columnas como de lineas, en el evento load del formulario donde tengas el control datagridview puedes hacer esto (o en otro evento, yo lo pongo en el load para setear la grid como quiero antes de cargar datos, pero también puedes cambiar estos valores con los datos cargados):
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load '#### MODIFICAR EL ANCHO DE LA COLUMNA DE FORMA AUTOMÁTICA #### 'Calcula el tamaño de la columna, asignandole el tamaño de la celda más grande entre todas las celdas de la columna. DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells 'Calcula el tamaño de la columna, asignandole el tamaño de la celda más grande entre todas las celdas de la columna, 'sin tener en cuenta la cabecera. DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader 'Calcula el tamaño de la columna, asignandole el tamaño necesario para mostrar todo el texto de la cabecera. DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader 'Calcula el tamaño de la columna, asignandole el tamaño de la celda más grande entre todas las celdas visibles de la columna. DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells 'Calcula el tamaño de la columna, asignandole el tamaño de la celda más grande entre todas las celdas visibles de la columna, 'sin tener en cuenta la cabecera. DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCellsExceptHeader 'Distribuye todas las columnas para que llenen todo el espacio de la datagrid. DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill 'Por defecto: no modificar el ancho de la columna. 'DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None '#### MODIFICAR EL ALTO DE LA LINEA A UN VALOR INDICADO POR NOSOTROS #### 'Calcula el alto de la linea teniendo en cuenta el alto de la fuente de cada linea. DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders DataGridView1.RowsDefaultCellStyle.Font = New Font("Arial", 25) End Sub
Espero que sea lo que necesitabas, lo he probado y redimensiona perfectamente tanto lineas como columnas, ten en cuenta que en las columnas te he puesto todos los valores posibles, debes dejar solo el que te interesa.
Un gran saludo!
MCTS .NET Framework 3.5 Windows Forms Application Development
MCTS .NET Framework 3.5 Windows Presentation Foundation
Visita mi Blog
Sigueme en Twitter- Propuesto como respuesta Josue YerayMVP, Moderator sábado, 10 de julio de 2010 9:25
- Marcado como respuesta JuanPabloSepulveda sábado, 10 de julio de 2010 11:11
sábado, 10 de julio de 2010 9:25Moderador
Todas las respuestas
-
Hola JuanPabloSepulveda
Es muy sencillo, para todo esto se usan los autosizemode tanto de columnas como de lineas, en el evento load del formulario donde tengas el control datagridview puedes hacer esto (o en otro evento, yo lo pongo en el load para setear la grid como quiero antes de cargar datos, pero también puedes cambiar estos valores con los datos cargados):
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load '#### MODIFICAR EL ANCHO DE LA COLUMNA DE FORMA AUTOMÁTICA #### 'Calcula el tamaño de la columna, asignandole el tamaño de la celda más grande entre todas las celdas de la columna. DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells 'Calcula el tamaño de la columna, asignandole el tamaño de la celda más grande entre todas las celdas de la columna, 'sin tener en cuenta la cabecera. DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader 'Calcula el tamaño de la columna, asignandole el tamaño necesario para mostrar todo el texto de la cabecera. DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader 'Calcula el tamaño de la columna, asignandole el tamaño de la celda más grande entre todas las celdas visibles de la columna. DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells 'Calcula el tamaño de la columna, asignandole el tamaño de la celda más grande entre todas las celdas visibles de la columna, 'sin tener en cuenta la cabecera. DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCellsExceptHeader 'Distribuye todas las columnas para que llenen todo el espacio de la datagrid. DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill 'Por defecto: no modificar el ancho de la columna. 'DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None '#### MODIFICAR EL ALTO DE LA LINEA A UN VALOR INDICADO POR NOSOTROS #### 'Calcula el alto de la linea teniendo en cuenta el alto de la fuente de cada linea. DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders DataGridView1.RowsDefaultCellStyle.Font = New Font("Arial", 25) End Sub
Espero que sea lo que necesitabas, lo he probado y redimensiona perfectamente tanto lineas como columnas, ten en cuenta que en las columnas te he puesto todos los valores posibles, debes dejar solo el que te interesa.
Un gran saludo!
MCTS .NET Framework 3.5 Windows Forms Application Development
MCTS .NET Framework 3.5 Windows Presentation Foundation
Visita mi Blog
Sigueme en Twitter- Propuesto como respuesta Josue YerayMVP, Moderator sábado, 10 de julio de 2010 9:25
- Marcado como respuesta JuanPabloSepulveda sábado, 10 de julio de 2010 11:11
sábado, 10 de julio de 2010 9:25Moderador -
Muchas gracias Josue! Era lo que necesitaba!
Un fuerte abrazo!
sábado, 10 de julio de 2010 11:11