Shordi   11-07-2022, 11:21
#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
Shordi   12-07-2022, 10:50
#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
tincho   26-07-2022, 09:10
#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.
tincho   05-08-2022, 12:57
#4
En el repo no esta la base de datos, por lo que da error en esta linea:
[code]
Voy a poner otra base de datos a ver que pasa.

1 Saludo.
tincho   05-08-2022, 14:09
#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.
Shordi   09-08-2022, 11:00
#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
Última modificación: 09-08-2022, 11:13 por Shordi.

No podemos regresar
  
Usuarios navegando en este tema: 2 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.