A lo mejor es un error de principiante.
La verdad es que cuando no se hacen cosas con formularios, se olvidan.
Tengo un gridview en un formulario. A este gridview le voy a cambiar el número de columnas y como es natural, los títulos de estas.
Pueden tener mas o tener menos títulos. En principio no tengo definido un tamaño de estas.
Este es el código:
Private anchogrid As Integer
Public Sub Form_Open()
End
Public Sub _new()
Dim titulos As String[] = ["Nombre", "Apellidos", "Edad", "Sexo", "Dirección"]
Dim ncolum As Integer = titulos.Count
Print GrdDatos.Width
encabezado(ncolum, titulos)
End
Public Sub encabezado(ncolum As Integer, lista As String[])
Dim x As Integer
With GrdDatos
.Header = 3
.Columns.Count = ncolum
For x = 0 To ncolum - 1
.Columns[x].Title = lista[x]
.Columns[x].Alignment = Align.Center
' Descomentar despues de ejecutar por primera vez
' .Columns[x].Width = 50
' .Width += 100
Next
End With
Print GrdDatos.Width
'Descomentar despues de ejecutar por primera vez
' With Me
' Me.Width = GrdDatos.Width
' End With
End
Public Sub Form_Open()
End
Public Sub _new()
Dim titulos As String[] = ["Nombre", "Apellidos", "Edad", "Sexo", "Dirección"]
Dim ncolum As Integer = titulos.Count
Print GrdDatos.Width
encabezado(ncolum, titulos)
End
Public Sub encabezado(ncolum As Integer, lista As String[])
Dim x As Integer
With GrdDatos
.Header = 3
.Columns.Count = ncolum
For x = 0 To ncolum - 1
.Columns[x].Title = lista[x]
.Columns[x].Alignment = Align.Center
' Descomentar despues de ejecutar por primera vez
' .Columns[x].Width = 50
' .Width += 100
Next
End With
Print GrdDatos.Width
'Descomentar despues de ejecutar por primera vez
' With Me
' Me.Width = GrdDatos.Width
' End With
End
Se mostraría algo como esto:
Los dos números que hay debajo es lo que "demuestra" que el área del Grdiview no se amplia a lo ancho.
Es una ventana de dibujo que le van a salir dos barras de scroll con la que vamos a poder desplazarnos
para ver su contenido. No cambia el tamaño del ancho del Gridview por que cambiemos o añadamos mas columnas.
Esta todo dentro de una ventana.
El fallo es que podamos pensar que si vamos ampliando el número de columnas se deban mostrar todas.
( Que creamos que se está cambiando el ancho del gridview)
Realmente este formulario. El control del GridVIew tiene las propiedades Autoresize a "True" y "Expand" a True.
Luego el formulario tiene Arrangement a "Fill" y Autoresize a "True"
Y no cambia nada.
Entonces lo que se me ocurrió es que lo que veis comentado. Era que segun se van añadiendo tamaños de columnas,
se va añadiendo ese valor al ancho del Gridview.
Public Sub encabezado(ncolum As Integer, lista As String[])
Dim x As Integer
With GrdDatos
.Header = 3
.Columns.Count = ncolum
For x = 0 To ncolum - 1
.Columns[x].Title = lista[x]
.Columns[x].Alignment = Align.Center
'Descomentar despues de ejecutar por primera vez
'.Columns[x].Width = 80
'.Width += 80
Next
End With
Print GrdDatos.Width
'Descomentar despues de ejecutar por primera vez
' With Me
' Me.Width = GrdDatos.Width
' End With
End
Dim x As Integer
With GrdDatos
.Header = 3
.Columns.Count = ncolum
For x = 0 To ncolum - 1
.Columns[x].Title = lista[x]
.Columns[x].Alignment = Align.Center
'Descomentar despues de ejecutar por primera vez
'.Columns[x].Width = 80
'.Width += 80
Next
End With
Print GrdDatos.Width
'Descomentar despues de ejecutar por primera vez
' With Me
' Me.Width = GrdDatos.Width
' End With
End
Mostrándose de esta forma:
Como veis, si ha cambiado el ancho del GridView. No veo otra forma.
En este caso es solo un componente en un formulario,
Saludos
ContenedorGrid.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | ContenedorGrid.tar.gz | |
Tamaño: | 12.43 KB | |
Descargado: | 28 veces |
ContenedorGrid.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | ContenedorGrid.tar.gz | |
Tamaño: | 12.43 KB | |
Descargado: | 28 veces |
ContenedorGrid.tar.gz | ||
Descripción: | Descargar |
|
Nombre del archivo: | ContenedorGrid.tar.gz | |
Tamaño: | 12.43 KB | |
Descargado: | 28 veces |