Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Nueva versión del control gvColumFixer
#1

Estos días he estado repasando viejos proyectos y he encontrado el gvColumnFixer, un GridView que permite fijar columnas de manera que no les afecte el scroll horizontal, permaneciendo visibles siempre. Es un proyecto que tiene ya algunos años en el que Gianluigi, del foro italiano me ayudó con algunos detalles estéticos, pero que al repasarlo no me acababa de convencer: sólo valía para bases de datos y tenía algunas carencias evidentes.

Lo he modificado, ampliado y simplificado, de manera que se comporte como un Gridview normal salvo que ofrece tres propiedades nuevas:  FixedColumns, un array con los números de columnas a fijar; FixedForeground, el color del texto de las columnas fijadas y FixedBackground el color de fondo de las columnas fijadas. Como cualquier gridview se puede rellenar a través del metodo _Data o directamente a las celdas.

[Imagen: w2DKxyL.png]

Lo podéis encontrar aquí: https://gitlab.com/shordi/gvColumnFixer y en la Granja (aunque en la granja no respondo de su actualización)

Espero que os sea útil.

Saludos

No podemos regresar
[-] Los siguientes 2 usuarios dicen gracias a Shordi por este post:
  • jguardon, tincho
    ¡Gracias!
#2

He actualizado el gitlab y la granja con la versión 1.0.3, que añade a las propiedades de la Clase ( FixedColumns, FixedForeground, y FixedBackground), más propiedades de la Clase Gridview, a saber:

ShowCursor, Mode, Header, ScrollBar, Row, Column, Grid, Padding, Font, Rows, Columns, Current y Data.

Así como los eventos:

Data, Change, Select, Activate, Click, Scroll y Font.

No están todas las propiedades ni todos los eventos, pero con estas se soluciona el 90% de los manejos de un GridView. Si alguien quiere añadir algún otro o modificarlo, que me lo diga, que estaré encantado de añadirlo o, mejor aún, que lo añada él y me lo pase después.

La idea es que se pueda ser manejado y se comporte como un gridview normal con esteroides, que se maneje como siempre y al que se le pueden Fijar columnas... o no.

Saludos

No podemos regresar
    ¡Gracias!
#3

(12-07-2022, 10:50)Shordi escribió:  Si alguien quiere añadir algún otro o modificarlo, que me lo diga, que estaré encantado de añadirlo o, mejor aún, que lo añada él y me lo pase después.

La idea es que se pueda ser manejado y se comporte como un gridview normal con esteroides, que se maneje como siempre y al que se le pueden Fijar columnas... o no.

en agosto le echo un vistazo y lo intento usar, a ver si se me ocurren ideas que puedan servir, o al menos para probar el funcionamiento., gracias por compartir.

1 Saludo.
    ¡Gracias!
#4

En el repo no esta la base de datos, por lo que da error en esta linea:
GAMBAS
  1. Copy "distancias.db" To user.home &/ "distancias.db"


Voy a poner otra base de datos a ver que pasa.

1 Saludo.
    ¡Gracias!
#5

ok, le puse otra base y funciono.
Todo parece ir muy bien, solo que hay un efecto que no se si es intencional o no, pero cuando re-dimensiono las columnas fijadas la otras (las no fijadas) no se desplazan.
[Imagen: cQHnMIX.gif]

1 Saludo.
    ¡Gracias!
#6

Es intencional. No porque me guste más así, más bien porque no sé cómo coordinar el ancho de una de las columnas fijas con el ancho de todas las columnas no fijas. Estamos tratando con dos gridviews separados sobre un splitter. La coordinación del ancho de los dos gridviews es trivial (la hace el splitter), pero a nivel de columna es otro tema....

Aún así tu comentario me ha servido para descubrir que con la versión subida puede darse la confusión al pulsar y arrastrar entre los dos gridviews de si estás cambiando el tamaño de la última columna fija o del segundo gridview. Le he quitado la propiedad .resizable a la última columna fija y ahora no hay problemas.


Saludos.

Añadida esa base de datos que faltaba. Ahora la demo debería funcionar sin problemas.

Saludos

No podemos regresar
    ¡Gracias!


Salto de foro:


Usuarios navegando en este tema: 2 invitado(s)