https://foro.gambas-es.org/viewtopic.php?f=1&t=3128&p=17666#p17666
-----------------------------------
Shell
Viernes, 17 May 2013, 19:29

ColumView,TableView,GridView.Criterios
-----------------------------------
Hola!.

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.  :roll: 

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 ?. :twisted: 

¿ 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. :-D
Por ?. :roll: 

Por cierto GridView tiene muchas mas propiedades que TableView.

Ah, os pongo aquí el ejemplo que estoy haciendo.
[code linenumbers=false syntax=gambas]
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
[/code]

Como veréis realmente no es lo adecuado. Lo hago con un ColumnView.  :roll: 
Fijaros que la variable columna no tiene uso correcto.

Saludos


