Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Cual Es La Forma Correcta De Agregar Un Control Dentro Otro?
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Cual Es La Forma Correcta De Agregar Un Control Dentro Otro? 
 
Buenas.

Lo que estoy tratando de hacer es mediante una consulta a una base de datos por cada resultado que obtenga agregar un Expander dentro de un ScrollView. pero cuando ejecuto el programa no se ve ningun Expander dentro del control. Y no es que no haya arrojado resultados la consulta.

mi codigo es el siguiente:
Private rs As Result
Private cn As New Connection
Private Expan As Expander

Private Sub cargar()
  If Not cn.Opened Then cn = modCon.conectar()
    rs = cn.Exec("Select * from Gasto group by Fecha")
  For Each rs
    Print Format(rs!Fecha, "dd-mm-yyyy")
  
    Expan = New Expander(ScrollView1)'el ScrollView1 ya esta agregado al Form
    Expan.Text = Format(rs!Fecha, "dd-mm-yyyy")
  
  Next
End

Public Sub Form_Open()
  cargar()
End

 



 
vr_rv - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cual Es La Forma Correcta De Agregar Un Control Dentro Otro? 
 
Hola vr_rv.

No das un tamaño al expander.

En este ejemplo que hice, he creado varios expander y dentro de cada expander, ncheckboxes.
Se debe controlar no pasarse en el número de checkboxes. No queremos que el tamaño
del expander sea enorme. No es un código perfecto pero para verlo como va.

 objetodentrodeotro

' gambas class file

Private Const numExpanders As Integer = 5
Private Const numCheckBoxs As Integer = 3

Private cexpand As Expander

Public Sub Form_Open()

  Dim x As Integer
    
  For x = 1 To numExpanders
    CrearExpander(x)  
  Next
  
End

Public Sub CrearExpander(nexp As Integer)

  Dim cchkbox As CheckBox
  Dim x As Integer
  
  cexpand = New Expander(ScrollView1)  
  With cexpand  
    .Text = "Expander " & CStr(nexp)
    .Height = 100
    .Width = 100
    .Arrangement = Arrange.Vertical  
  End With  
  
  '
  For x = 1 To numCheckBoxs
    cchkbox = New CheckBox(cexpand)
    With cchkbox
      .Width = 100
      .Height = 20
      .Text = "Opción" & CStr(x)
    End With  
  Next
  
End
 


Saludos

ControlDentroDeOtro.tar.gz
Descripción:  
Descargar
Nombre del archivo: ControlDentroDeOtro.tar.gz
Tamaño: 12.21 KB
Descargado: 32 veces
ControlDentroDeOtro.tar.gz
Descripción:  
Descargar
Nombre del archivo: ControlDentroDeOtro.tar.gz
Tamaño: 12.21 KB
Descargado: 32 veces
ControlDentroDeOtro.tar.gz
Descripción:  
Descargar
Nombre del archivo: ControlDentroDeOtro.tar.gz
Tamaño: 12.21 KB
Descargado: 32 veces

 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cual Es La Forma Correcta De Agregar Un Control Dentro Otro? 
 
Fijaros que ocurre si cambio el número de checkboxes a 10 y cambio la propiedad Expand de los checkboxes.

....
Private Const numCheckBoxs As Integer = 10

....
For x = 1 To numCheckBoxs
    cchkbox = New CheckBox(cexpand)
    With cchkbox
      .Width = 100
      .Height = 20
      .Text = "Opción" & CStr(x)
      .Expand = True
    End With  
  Next
 


 comosardinasenlata

¿ Sabríais como evitar esa situación y que pueda haber más checkboxes ?.
( Sé que es domingo ).  

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cual Es La Forma Correcta De Agregar Un Control Dentro Otro? 
 
Una posible solución:

Para saber la altura que tiene el expander, debemos saber cuanto mide la altura total de los n checkboxes.

Private Const numExpanders As Integer = 5
Private Const numCheckBoxs As Integer = 10
Private Const altcheckbox As Integer = 20

Private cexpand As Expander

Public Sub Form_Open()

  Dim x As Integer
    
  For x = 1 To numExpanders
    CrearExpander(x)  
  Next
  
End

Public Sub CrearExpander(nexp As Integer)

  Dim cchkbox As CheckBox
  Dim x As Integer
  
  cexpand = New Expander(ScrollView1)  
  With cexpand  
    .Text = "Expander " & CStr(nexp)    
    .Height = altcheckbox * numCheckBoxs
    .Width = 100  
    .Arrangement = Arrange.Vertical
  End With  
  
  '
  For x = 1 To numCheckBoxs
    cchkbox = New CheckBox(cexpand)
    With cchkbox    
      .Width = 100
      .Height = altcheckbox
      .Text = "Opción" & CStr(x)
      .Expand = True
    End With  
  Next
  
End
 


 conociendoalturatotaldecheckboxes

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Domingo, 10 Julio 2016, 09:03; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cual Es La Forma Correcta De Agregar Un Control Dentro Otro? 
 
Muchas Gracias Shell, ya lo tengo funcionando
 



 
vr_rv - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Acceder A Objetos Que Están Dentro De Un ... santijav General 1 Viernes, 29 Abril 2011, 22:46 Ver último mensaje
santijav
No hay nuevos mensajes ¿ Qué Forma Os Parece Más Correcta Para... Shell General 4 Viernes, 20 Febrero 2015, 13:51 Ver último mensaje
Shell
No hay nuevos mensajes Forma Correcta En La Conexion De Base De D... Lykan Bases de Datos 13 Miercoles, 29 Abril 2015, 22:25 Ver último mensaje
Lykan
No hay nuevos mensajes ¿Cual Es La Sintaxis Correcta Para Clave ... willyanjose Bases de Datos 10 Lunes, 01 Agosto 2016, 15:28 Ver último mensaje
willyanjose
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron