Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Nuevo Control: GvColumnFixer
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Nuevo Control: GvColumnFixer 
 
A raíz de una petición en otro hilo del foro, esta mañana me he divertido haciendo un control que es, básicamente, un Gridview al que puedes "fijar" columnas de modo que siempre sean visible a pesar de los Scrolls horizontales que se puedan hacer.
La idea de cómo hacerlo se me ha ocurrido en la cama esta noche y ha resultado buena: No es un Gridview, son dos coordinados.
El primero contiene las columnas que se hayan fijado, y no es visible si no hay columnas que fijar.
El segundo es un gridview normal al que se le ocultan las columnas que se dan por fijadas para no duplicarlas.
El control lo he hecho basado en un Result. Es decir, haces una consulta a una BD y le pasas el result en su propiedad Result.
Si alguien quiere algo más flexible, no es difícil de implementar para que acepte un array de dos dimensiones, un array de colecciones, un fichero .csv, etc.

El aspecto, una vez fijado un par de columnas es este:
 captura_de_pantalla_de_2019_08_19_20_05_31

Vale, vale, el nombre no es muy afortunado... más bien da ganas de vomitar pero si a alguien se le ocurre un nombre mejor que indique que "hereda de Gridview (gv) y Fija columnas (column fixer), que me lo diga y lo cambio encantado.

Para incorporarlo en vuestros proyectos podéis hacer dos cosas:
A.- Copiar la carpeta .../src/gvColumnFixer del proyecto adjunto a este mensaje en la carpeta ./src de vuestro proyecto y el archivo .hidden/control/gvcolumnfixer.png del proyecto en la misma carpeta de vuestro proyecto (si no existe .hidden/control la creáis).

B.- Crear el paquete de instalación con el proyecto adjunto e instalarlo en vuestro ordenador. A partir de ahí lo tendréis disponible como un componente más de Gambas.

El formulario de prueba que hay en éste proyecto crea una pequeña base de datos en el home de vuestro usuario y la borra al salir.

Espero que os sea útil

Saludos

Post Data:
Para añadir algo más de flexibilidad al invento, le he puesto dos referencias a los dos griviews y un evento AfterData(row, column) que se levanta después de procesado el evento data. Con eso se puede manipular cada celda ya rellenada de cada uno de los dos gridviews como se quiera.
Así, añadiendo éste código al formularioi Test
Public Sub gvColumnFixer1_afterData(row As Integer, column As Integer)

    gvColumnFixer1.GVScrolled[row, column].Font.Bold = True 'ponemos en negrita el gridview con scroll
    If Not gvColumnFixer1.GVScrolled[row, column].text Then gvColumnFixer1.GVScrolled[row, column].richtext = "NULO"' Ponemos la cadena NULO si el campo está vacío
    If gvColumnFixer1.FixedColumns.Count > 0 Then
        gvColumnFixer1.GVFixed[row, 0].Foreground = Color.red 'Si es un campo fijo lo escribimos en rojo
    Endif

End

Queda así:

 captura_de_pantalla_de_2019_08_22_21_46_32

Está chulo ¿no?
     
 




===================
No podemos regresar
 
última edición por shordi el Sabado, 24 Agosto 2019, 22:51; editado 8 veces 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Nuevo Control: GvColumnFixer 
 
shordi escribió:  
que me lo diga y lo cambio encantado.



Genial eres un crack !!!!

Oye que te parece "FixedGridView" como posible nombre y en su interior poner una cabecera comentada para explicar su uso y característica.

Yo partiría de la librería oficial de GridView e intentaría que no se vea el foco de forma visible para que parezca un solo control e incluso la reescribiría para crear un componente nuevo. Pero son palabras de un soñador, por favor que no desvirtué tu gran trabajo.

Muchísimas gracias.
 



 
última edición por gambafeliz el Domingo, 18 Agosto 2019, 19:31; editado 1 vez 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Nuevo Control: GvColumnFixer 
 
Citar:
Yo partiría de la librería oficial de GridView e intentaría que no se vea el foco de forma visible para que parezca un solo control e incluso la reescribiría para crear un componente nuevo.


No entiendo: Al abrirlo no se ve el foco y hasta donde coligo parece (y es) un control único. Por otra parte ya es un componente...(Menú->Proyecto->propiedades->General)
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Nuevo Control: GvColumnFixer 
 
shordi escribió:  
Citar:
Yo partiría de la librería oficial de GridView e intentaría que no se vea el foco de forma visible para que parezca un solo control e incluso la reescribiría para crear un componente nuevo.


No entiendo: Al abrirlo no se ve el foco y hasta donde coligo parece (y es) un control único. Por otra parte ya es un componente...(Menú->Proyecto->propiedades->General)


Hola, shordi

Yo no he visto el código y no he cargado nada en gambas. Perdón si no corresponde con algo o con todo. Yo tenia prisa y ví la imagen y note el problema que te contaba. Lo que ocurre en la imagen es que cuando tiene el foco el Gridview de la izquierda se resalta, fíjate en la imagen que tu aportas y que yo te voy a señalar.

Nuevamente lo normal es opinar viendo el componente si es así y no hablar desde una imagen. Perdón, vale.
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Nuevo Control: GvColumnFixer 
 
He modificado el control, de manera que ahora puedes fijar varias columnas y no sólo una.
He actualizado el post para que esto quede reflejado.


Saludos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Nuevo Control: GvColumnFixer 
 
Gracias Shordi.
Lo descargue y probare a ver que tal va.
Se me ocurre GridViewFix
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Nuevo Control: GvColumnFixer 
 
Quedó maravilloso, gracias, eres un crak (como dicen ustedes los españoles, o eso creo que dicen jajaja)
 




===================
gambeando ando -o- Yaracuy-Venezuela
[img]http://www.gambas-es.org/files/images/2194/mi_tarj_present_qr_droid.png[/img]
 
datobinario - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Nuevo Control: GvColumnFixer 
 
Joder shordi, estás que te sales últimamente!!!

Gran trabajo1
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Nuevo Control: GvColumnFixer 
 
El canto del cisne, nada más...
     
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Nuevo Control: GvColumnFixer 
 
Le he añadido un nuevo evento AfterData(row,column) y dos referencias a ambos gridviews. Mirad el inicio del hilo para más explicaciones.

Saludos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Creación De Un Nuevo Control En Gambas3: ... jsbsan Videotutoriales 3 Viernes, 06 Febrero 2015, 12:44 Ver último mensaje
jsbsan
No hay nuevos mensajes Un Nuevo Control: RtEdit shordi Aplicaciones/Fragmentos de Código 5 Lunes, 30 May 2016, 13:38 Ver último mensaje
tercoIDE
No hay nuevos mensajes Nuevo Control: Gb.estado jsbsan Aplicaciones/Fragmentos de Código 3 Lunes, 17 Octobre 2016, 23:34 Ver último mensaje
Grandamakulo
No hay nuevos mensajes Nuevo Control DayButton jsbsan Aplicaciones/Fragmentos de Código 3 Martes, 18 Abril 2017, 21:51 Ver último mensaje
jsbsan
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

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
No puede descargar archivos
No puede publicar eventos en el calendario