Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Desarrollo en Delphi para Android (https://www.clubdelphi.com/foros/forumdisplay.php?f=57)
-   -   TStringGrid no se muestra correctamente (https://www.clubdelphi.com/foros/showthread.php?t=90722)

jhonalone 20-08-2016 20:19:04

TStringGrid no se muestra correctamente
 
Bueno, amigos.
Tengo una TStringGrid que, horizontalmente, sobrepasa el tamaño de la pantalla.
Cuando intento ver la parta oculta, deslizando la pantalla hacia la izquierda, (Con ShowScrollBars=True y ([AlternatingRowBackground,ColLines,RowLines,RowSelect,AlwaysShowSelection,Header]), la parte que estaba oculta no pinta las filas alternativas de distinto color ni la selección de de la fila hasta el final, todo lo pinta hasta la longitud horizontal definida del TStringGrid. La cabecera se ve correctamente.

Si defines la longitud del TStringGrid más allá de la pantalla, no se desliza el componente para mostrar la parte derecha.

No sé si tengo que cambiar alguna propiedad del TStringGrid o si hay alguna otra solución.

Espero que alguien me ayude.
Gracias.

jhonalone 23-08-2016 00:13:27

Hola a todos.
Parece ser que nadie se ha encontrado con este problema. O los que se lo han encontrado lo resolvieron y no han llegado a leer mi post.

El problema existe tanto para la plataforma Windows como Android.

Como yo ya lo he resuelto, dejo la solución para alguien que lo encuentre en el futuro.

Tres días de pruebas y pruebas hasta que se me ocurrió meter el TStringGrid en un TScrollBox. El tamaño del TStrinGrid debe ser el completo, con todas sus columnas. Su propiedad Align debe estar definida AlNone o None (Según versión) el GestureManager debe tener deshabilitada la propiedad [Pan]. También he definido la propiedad ClicpChildren del TScrollBox a True.

No sé si se me olvida algo, porque he probado tantas combinaciones... A lo mejor sobra algo de lo que he cambiado, los expertos lo sabrán. Yo no toco nada por si las moscas...

Es triste tener que andar "trasteando" de esta forma, para conseguir algo que debería estar implementado en el componente... Pero es lo que hay.

Saludos a todos.

roman 23-08-2016 16:08:47

Muchas gracias por el aporte :)

LineComment Saludos

jhonalone 23-08-2016 19:20:04

No tiene importancia, Roman.
Estamos en el foro para ayudarnos unos a otros en lo que podamos. Unos un poquito como yo y otros un MUCHAZO como tu. No es la primera vez que me has ayudado. Gracias siempre.
Saludos.

jhonalone 16-09-2018 01:06:47

Hola a todos.

Lamento mucho tener que reabrir este tema.

La solución propuesta hace 2 años era para la versión Seattle de Delphi y me sigue funcionando en ese contexto.

Ahora estoy haciendo pruebas con la versión Tokyo y ya no me funciona en esta versión.

Por favor, si alguien sabe cómo resolverlo, os lo agradecería. Llevo ya 2 días haciendo pruebas.

Saludos a todos.

jhonalone 18-09-2018 23:37:12

Hola a todos.

Después de 2 días intensísimos en los que no he hecho otra cosa durante más de 16 horas diarias, lamento comunicaros que me rindo.

Este control, es todavía más inestable en la versión Tokyo que en la versión Seattle.

Utilizando como padre un TScrollBox me ha funcionado (a medias) en algunos formularios siguiendo los pasos para la versión Seattle. Y además añadiendo otra TStringGridColumn (vacía) al final del control. ¡Con la mala imagen que esto da!

Otras veces ha funcionado sin encapsularle en un TScrollBox.

Otras veces ni lo uno ni lo otro. Si lo meto en un TScrollBox no funciona si no le añado una columna al final. Aunque ésa columna la ponga el Width muy pequeño (1 px), sale como unos 100 px (Cosa fea). Si por el contrario lo dejo fuera del TScrollBox añadiendo una columna igual que con el ScrollBox al final, hace lo mismo, (aunque la reduzca al máximo la anchura, sale la columna de unos 100 px mas o menos) y si no añado la columna, me reduce la última columna que dejo y no se ve completo el texto que debería mostrar, ( y ésto ocurre no porque sea pequeño el Width, aunque le ponga de 500 o más px cuando sólo sería necesario de 100 px)

Vamos, un caos.

¡Ah! se me olvidaba. En tiempo de diseño sale correctamente...

Tendré que buscar otra solución con otro tipo de grid. (Si la encuentro)

Saludos de un decepcionado.


La franja horaria es GMT +2. Ahora son las 16:29:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi