https://foro.gambas-es.org/viewtopic.php?f=1&t=5012&p=29078#p29078
-----------------------------------
vuott
Domingo, 06 Diciembre 2015, 18:08

Re: Insertar Objeto Dentro De Otro
-----------------------------------
[quote user="Ricardo Prieto" post="29075"]... acceder al objeto tableview creado..? Por que a medida que los voy creando no encuentro la forma de acceder[/quote]

Si tu por "acceder", te refieres a utilizar las recursos del objecto TableView creado:

[b]1[/b]) elimina la declaración local de la variable NvTablaVenta, y pone una variable [i]global[/i]:
[code linenumbers=false syntax=gambas]Private NvTablaVenta As TableView


Public Sub Form_Open()

etc..etc...[/code]

Asì tu pudes utilizar propiedades y metodos en las routine.


[b]2[/b]) para usar los eventos del objecto, tienes que asignar las [i]TableView[/i] creadas a un mismo "Grupo" de evbentos.
Asì, cambia esta linea:
With NvTablaVenta = New TableView(TabStripVentas)

como sigue:
[code linenumbers=false syntax=gambas]With NvTablaVenta = New TableView(TabStripVentas) As "NvTablaVenta"[/code]

Podemos usar por ejemplo:
[code linenumbers=false syntax=gambas]Public Sub NvTablaVenta_Click()

  NvTablaVenta[NvTablaVenta.Row, NvTablaVenta.Column].Text = CStr(NvTablaVenta.Row & "  " & NvTablaVenta.Column)
  
End[/code]



Es decir:
[code linenumbers=false syntax=gambas]Private NvTablaVenta As TableView


Public Sub Form_Open()

 Dim j As Byte

  TabStripVentas.Count = 3

  For j = 0 To 2
    TabStripVentas[j].Text = CStr(j)
  Next

End


Public Sub ClonarTabla()
  
    TabStripVentas.Count = TabStripVentas.Count + 1

    TabStripVentas.Index = TabStripVentas.Count - 1

    TabStripVentas[TabStripVentas.Count - 1].Text = CStr(TabStripVentas.Count - 1)

   With NvTablaVenta = New TableView(TabStripVentas) As "NvTablaVenta"
     .X = 40
     .Y = 100
     .W = 200
     .H = 200
     .Rows.Count = 3
     .Columns.Count = 3
     .Name = "NvTablaVenta " & CStr(TabStripVentas.Count - 1)
   End With
  
End


Public Sub Button1_Click()

  ClonarTabla()

End


Public Sub NvTablaVenta_Click()

  Print Last.Name

  NvTablaVenta[NvTablaVenta.Row, NvTablaVenta.Column].Text = CStr(NvTablaVenta.Row & "  " & NvTablaVenta.Column)
  
End[/code]


