Diferentes Formas De Obtener El Mismo Resultado Haciendolo De Distintas Formas


Objetivo: Diferentes Formas De Obtener El Mismo Resultado Haciendolo De Distintas Formas
Buenas!.

Haciendo un ejemplo de Julio sobre TableView y GridView. Se me ocurrió que se podía obtener
el mismo resultado haciéndolo de distintas formas.

En el mismo formulario existe un GridView y un TableView de esta forma:

gridviewytableview

Forma original.

Todo el código en el formulario principal. Para un ejemplo no esta mal ya que lo se trata es explicar
el funcionamiento y verlo funcionar sin mas.

Ahora se me ocurrió de que se podía crear un modulo para cada uno de los controles y llamarlo.
Pero yo no quería a penas código en el formulario.

Entonces en un modulo que trabaje con el GridView podría tener algo así:

Public Function DefinirGridView(grd As GridView) As GridView

With grd
.Header = GridView.Both
.Rows.Count = 10
.Columns.Count = 3
.Columns[0].Title = "Primera Columna"
.Columns[1].Title = "Segunda Columna"
.Columns[2].Title = "Tercera Columna"
.Columns[0].Width = 120
.Columns[1].Width = 120
.Columns[2].Width = 120
.Font.Name = "Sans"
.Font.Size = 9
.Background = 16777215
.Foreground = 0
End With
Return grd

End

Public Function RellenarGridView(grd As GridView) As GridView

Dim a, b As Integer

For a = 0 To grd.Rows.Max
For b = 0 To grd.Columns.Max
grd[a, b].Text = "Celda: " & Str(a) & " " & Str(b)
Next
Next
Return grd
End


Como veis en el caso del GridView solo se va a "mostrar" datos.
Pero en cambio si trabajo con el TableView y quisiera crear un modulo.
Parte de los eventos del control tengo que hacerlo en el formulario. ¿ Verdad ?.

Ya que en el TableView voy a usar:
- Click
- Save

Eso no lo puedo poner en el modulo.

Volvemos a situar parte de código en el modulo y algo más en el formulario principal.

Así que digo. Voy a heredar un tableview y crear una clase.
Dicho y hecho.

Quedando casi tres o cuatro líneas en el formulario que maneja el TableView.

Pero ahora bien. Ahora viene la pregunta!.

Y si yo en vez de crear de cero el TableView con una clase.
Quisiera pasarle a esa clase mi objeto que tengo en el formulario.
Y esta clase me devuelva el objeto con unas propiedades fijas en la clase.

¿ Eso es posible ?
¿ Es una forma adecuada ?.

Saludos

Objetivo: Re: Diferentes Formas De Obtener El Mismo Resultado Haciendolo De Distintas Formas
Sin estudiar a fondo el tema... no.
No es buena cosa mezclar módulos con clases. Un módulo es lo que es (una clase pública estática y no instanciable).

Si heredas una clase de Gridview y quieres que se auto-configure de una manera concreta, añade una propiedad como un array o colección de parámetros y que en su procedimiento _init() se configure según ellos. Pero eso de que un módulo tejemanejee las tripas de una clase interna de un formulario, etc... no sé, no me cuadra. Los módulos no están para eso.

Saludos

Perfil MP  
Objetivo: Re: Diferentes Formas De Obtener El Mismo Resultado Haciendolo De Distintas Formas
Shell:

Citar:
Y si yo en vez de crear de cero el TableView con una clase.
Quisiera pasarle a esa clase mi objeto que tengo en el formulario.
Y esta clase me devuelva el objeto con unas propiedades fijas en la clase.

¿ Eso es posible ?
¿ Es una forma adecuada ?.


Si, creo que se puede usar el patron visitador:
http://jsbsan.blogspot.com.es/2013/...-cliente-y.html

Objetivo: Re: Diferentes Formas De Obtener El Mismo Resultado Haciendolo De Distintas Formas
No entiendo na, Julio. ¿Dónde aparece el módulo en el ejemplo del Visitador del enlace?... O es que no he entendido a Shell...
Mejor me voy a cenar.


Perfil MP  
Objetivo: Re: Diferentes Formas De Obtener El Mismo Resultado Haciendolo De Distintas Formas
Ya cuando se ponen con las clases y herencias etc etc. como concepto va bien pero en rendimiento no me convence.
En el uso de datos de una base para mostrar en un tableview, gridviws etc. lo que mejor me funciono fue el gridview con el código en el mismo formulario (su clase) y no en una clase a parte.

Saludos.

Perfil MP  
Objetivo: Re: Diferentes Formas De Obtener El Mismo Resultado Haciendolo De Distintas Formas
Buenas!.

Usar directamente un patrón puede complicarse mucho y quizás no sea tan necesario
para el problema que planteo. Puede que no lo haya planteado de la mejor forma.

No me gusta hacer algo de una forma al pie de la letra, ya que anula la creatividad del programador.
No somos máquinas, ni actuamos como las mismas. Primero se debe siempre crear algo y verlo
funcionar con las ideas del programador, mejorarlo y por último comprender y usar un método mejor.

Saludos


Página 1 de 1


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.2333s (PHP: -43% SQL: 143%)
Consultas SQL: 45 - Debug off - GZIP Activado