https://foro.gambas-es.org/viewtopic.php?f=1&t=1582
-----------------------------------
santijav
Lunes, 25 Abril 2011, 21:39

Crear Formulario Por Código Con Algunos Objetos Dentro
-----------------------------------
Buenas tardes,

Estoy trabado en algo sencillo y no logro dilucidar donde está el error.

Tengo una clase Fmuestraestrategia q hereda a la clase form con el siguiente código:
[code linenumbers=false syntax=gambas]
PUBLIC SUB mostrar()
   DIM tablaestrategia AS NEW GridView(ME)
   tablaestrategia.Enabled = TRUE
  tablaestrategia.Visible = TRUE
  tablaestrategia.Show()
  tablaestrategia.rows.Count = 4
  tablaestrategia.Columns.Count = 4
  tablaestrategia.Rows.Height = 5
  tablaestrategia.Columns.Width = 5
  ME.Show 'esta es por último la última línea donde muestra el formulario
  ME.W = 1000
  ME.H = 500   
END[/code]

Desde un botón en  otro formulario tengo esto:

  DIM a AS NEW Fmuestraestrategia
  a.mostrar()

Logro que se vea el formulario pero no el gridview... Qué estoy haciendo mal?!

Lo único que necesito es crear un formulario con un gridview, para luego con otras funciones pasarle algunos datos para que los muestre...

Estaré muy agradecido si alguien puede darme una pista acerca de dónde está el error... es básico pero me he quedado trabado.

Muchas gracias!


-----------------------------------
Shell
Martes, 26 Abril 2011, 09:37

Re: Crear Formulario Por Código Con Algunos Objetos Dentro
-----------------------------------
Hola santijav.

Intenta con dar valores a las propiedades de alto y ancho del gridview. ;-)

Parece que es lo único que te falta.


-----------------------------------
Shell
Martes, 26 Abril 2011, 09:44

Re: Crear Formulario Por Código Con Algunos Objetos Dentro
-----------------------------------
Ah,cambia el tamaño de las filas y columnas,son pequeñas, pequeñas.  8) 

Parece que hay propiedades que sobran cuando creaste el gridview :?: 

Como enabled, show,visible.

Prueba.


-----------------------------------
santijav
Martes, 26 Abril 2011, 15:31

Re: Crear Formulario Por Código Con Algunos Objetos Dentro
-----------------------------------
Shell,

Gracias por la respuesta. Probé lo que mencionaste pero no tuve suerte... El formulario se ve bien... pero no así el gridview.. Alguna otra sugerencia que probar?

Acabo de agregar:

tablaestrategia.Height = 400
tablaestrategia.Width = 400

al código del procedimiento mostrar(), quedando el código de la clase así:

[code linenumbers=false syntax=gambas]' Gambas class file
INHERITS Form
PUBLIC SUB mostrar()
  
  DIM tablaestrategia AS NEW GridView(ME)
  
  
  

  tablaestrategia.rows.Count = 4
  tablaestrategia.Columns.Count = 4
  tablaestrategia.Rows.Height = 25
  tablaestrategia.Columns.Width = 25
  tablaestrategia.Height = 400
  tablaestrategia.Width = 400

    
  ME.Show 'esta es por último la última línea donde muestra el formulario
  ME.W = 1000
  ME.H = 500 

END[/code]


-----------------------------------
Shell
Miercoles, 27 Abril 2011, 08:28

Re: Crear Formulario Por Código Con Algunos Objetos Dentro
-----------------------------------
Hola!.

Parece que no guarda la proporción.Por otra parte si tienes un Gridview de tamaño Horizontal y Vertical de 400, cuando el tamaño de las columnas
y filas es de 25, parece que sobra mucho espacio dentro del Gridview y la ultima columna es mucho más grande.

 [img]http://foro.gambas-es.org/files/images/768/gridview1.png[/img]

Baje la utilidad de Julio desde este post. 

http://foro.gambas-es.org/viewtopic.php?f=4&t=45&highlight=gridview

A pesar de todo la ultima columna no guarda la proporción. Y el problema continua.En la utilidad tienes un tamaño de Gridview, fija,
aparentemente y juegas con las columnas y filas.

Así que es cosa de jugar con el tamaño del Gridview y ir adaptando el tamaño de las filas y columnas al tamaño del Gridview
para que guarde la proporción.

Por ejemplo con:

[code linenumbers=false syntax=gambas]
INHERITS Form
PUBLIC SUB mostrar()
  
  DIM tablaestrategia AS NEW GridView(ME) 
  

  tablaestrategia.rows.Count = 4
  tablaestrategia.Columns.Count = 4
  tablaestrategia.Rows.Height = 24
  tablaestrategia.Columns.Width = 24
  tablaestrategia.Height = 100
  tablaestrategia.Width = 100

    
  ME.Show 'esta es por último la última línea donde muestra el formulario
  ME.W = 1000
  ME.H = 500

END
[/code]

Debería ser 25 para que ocupara el total del tamaño, verdad?. 100/4, pero se sale.

Obtenemos:

 [img]http://foro.gambas-es.org/files/images/768/gridview2.png[/img] 

Lo mas normal es que no sea el tamaño que quieres.Prueba con otro tamaño que te guarde la proporción.

Saludos. ;-)


