Cada componente tiene su uso. Hay veces que por costumbres usamos uno u otro y podemos
realmente darle un uso no adecuado o no lo usamos como deberíamos para lo que fue hecho.
Puede pasar cuando empezamos y lo peor, por costumbre.
Estos componentes "parecen" tener solo la función de mostrar los datos en sus columnas, filas.
Hay componentes como ColumView que ha cambiado su programación de una versión de Gambas
a otra.No se si desde la primera o desde la segunda.
Imaginar que solo quiero representar unos datos en filas y columnas.
A simple vista, parece que cualquiera de estos componentes puede valer, ¿ no ?.
¿ Tenéis una tendencia a usar uno u otro ?.
Según la ayuda de Gambas:
ColumView: Esta clase implementa un control que despliega un TreeView con columnas. Nunca le he dado el uso adecuado.
TableView: Este control es un GridView editable.
GridView: Implementa un control que muestra datos en una grilla o rejilla.
A pesar de todo estos controles pueden hacer uno las veces del otro, jugando con sus propiedades. "Parecen similares"
Para mi ejemplo, solo tengo como opción TableView y GridView. "Como debería ser"
Aunque ColumView también me valdría.
Seguramente, mas de uno dirá, pues a mi me gusta GridView.
Por ?.
Por cierto GridView tiene muchas mas propiedades que TableView.
Ah, os pongo aquí el ejemplo que estoy haciendo.
Public Sub Form_Open()
DefinirDimensiones(ColumnView1)
LlenarColumView
End
Public Function DefinirDimensiones(tabla As ColumnView) As ColumnView
With tabla
.Columns.Count = 5 'Definimos 5 columnas
.Columns[0].Width = 150 'Definimos el ancho de la primera columna
.Columns[0].Text = "Nombre" 'Definimos la cabecera de la primera columna
.Columns[0].Alignment = Align.Left 'Alineacion izquierda
.Columns[1].Width = 250
.Columns[1].Text = "Apellidos"
.Columns[1].Alignment = Align.Center
.Columns[2].Width = 50
.Columns[2].Text = "Edad"
.Columns[2].Alignment = Align.Center
.Columns[3].Width = 50
.Columns[3].Text = "Altura"
.Columns[3].Alignment = Align.Center
.Columns[4].Width = 50
.Columns[4].Text = "Peso"
.Columns[4].Alignment = Align.Center
End With
Return tabla 'Casi lo olvido, es una función. Aunque funciona sin el
End
Public Sub LlenarColumView()
Dim fila As Integer, columna As Integer
For fila = 0 To 4
ColumnView1.Add(fila, columna)
ColumnView1[fila][0] = "Nombre" & fila
ColumnView1[fila][1] = "Apellidos" & fila
ColumnView1[fila][2] = "Edad" & fila
ColumnView1[fila][3] = "Altura" & fila
ColumnView1[fila][4] = "Peso" & fila
Next
End
DefinirDimensiones(ColumnView1)
LlenarColumView
End
Public Function DefinirDimensiones(tabla As ColumnView) As ColumnView
With tabla
.Columns.Count = 5 'Definimos 5 columnas
.Columns[0].Width = 150 'Definimos el ancho de la primera columna
.Columns[0].Text = "Nombre" 'Definimos la cabecera de la primera columna
.Columns[0].Alignment = Align.Left 'Alineacion izquierda
.Columns[1].Width = 250
.Columns[1].Text = "Apellidos"
.Columns[1].Alignment = Align.Center
.Columns[2].Width = 50
.Columns[2].Text = "Edad"
.Columns[2].Alignment = Align.Center
.Columns[3].Width = 50
.Columns[3].Text = "Altura"
.Columns[3].Alignment = Align.Center
.Columns[4].Width = 50
.Columns[4].Text = "Peso"
.Columns[4].Alignment = Align.Center
End With
Return tabla 'Casi lo olvido, es una función. Aunque funciona sin el
End
Public Sub LlenarColumView()
Dim fila As Integer, columna As Integer
For fila = 0 To 4
ColumnView1.Add(fila, columna)
ColumnView1[fila][0] = "Nombre" & fila
ColumnView1[fila][1] = "Apellidos" & fila
ColumnView1[fila][2] = "Edad" & fila
ColumnView1[fila][3] = "Altura" & fila
ColumnView1[fila][4] = "Peso" & fila
Next
End
Como veréis realmente no es lo adecuado. Lo hago con un ColumnView.
Fijaros que la variable columna no tiene uso correcto.
Saludos