Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Una más de lo DBGrid y su barra de desplazamiento (https://www.clubdelphi.com/foros/showthread.php?t=48083)

Gabo 14-09-2007 18:27:55

Una más de lo DBGrid y su barra de desplazamiento
 
He visto en las búsquedas que varios de ustedes han tenido problemas con los DBGrid y sus barras de desplazamiento. A mi me ha estado pasando que desaparece la barra de desplazamiento vertical, y sin ser DBGrid en maestro-detalle.

gluglu comentó en un hilo que al parecer es un bug... ¿Alguno ya ha encontrado la solución para ese problema? A mi me lleva de cabeza...

gluglu 14-09-2007 18:47:41

Sin ser Maestro-Detalle ?

Cuando te desaparece la barra, en simple ejecución del programa, o cuando haces alguna operación especial tal como cerrar y abrir el DataSet asociado ?

Gabriel 14-09-2007 21:40:25

Barra Grid
 
A mi tambien me ocurria

Me da verguenza, pero busque una solucion super chapuza, pero siempre fuciona

encima o debajo del DBGrid, pongo un panel y despues de mostrar datos, siempre hago, panel1.Heigth := panel1.Heigth + 1 ; panel1.Heigth := panel1.Heigth - 1.

Con lo cual obligo a redibujar el DBGrid.

Intente con paint i apis i demas y la verdad, no me acabo de funcionar.

Y finalmente, lo solucione de esta forma tan chapuzilla.

Si alguien sabe alguna mejor ??
Me la apunto

Saludos

Gabo 17-09-2007 10:59:19

Cita:

Empezado por gluglu (Mensaje 231177)
Sin ser Maestro-Detalle ?

Efectivamente, sin ser Maestro-Detalle. Aunque reconozco que me pasa en forms con más de un DBGrid, no así en los que hay uno sólamente.

Cita:

Empezado por gluglu (Mensaje 231177)
Cuando te desaparece la barra, en simple ejecución del programa, o cuando haces alguna operación especial tal como cerrar y abrir el DataSet asociado ?

Cierro y abro el Dataset en el evento OnShow y desde allí en adelante no me parecen las barras de desplazamiento. Bueno, aclaro, a veces sí aparecen y a veces no aparecen. Puedo haber terminado de ejecutar el programa y volverlo a ejecutar y ya me aparecen o viceversa. :confused:

Cita:

Empezado por Gabriel (Mensaje 231243)
A mi tambien me ocurria

Me da verguenza, pero busque una solucion super chapuza, pero siempre fuciona

encima o debajo del DBGrid, pongo un panel y despues de mostrar datos, siempre hago, panel1.Heigth := panel1.Heigth + 1 ; panel1.Heigth := panel1.Heigth - 1.

Con lo cual obligo a redibujar el DBGrid.

Intente con paint i apis i demas y la verdad, no me acabo de funcionar.

Y finalmente, lo solucione de esta forma tan chapuzilla.

Si alguien sabe alguna mejor ??
Me la apunto

Saludos

Chapuza será, pero si funciona... :rolleyes:

Pero, ¿como es eso de poner el panel encima del DBGrid? Te taparía el componente...

Gabriel 18-09-2007 08:52:18

Barra DBGrid
 
Bueno encima encima del componente no.

Pongo el Form, un panel, pequeño, o del tamaño que quieras en Aling al Top o AlBottom.

el Grid, por ejemplo Al Client, i al cambiar el panel de tamaño, el grid no me cambiaría, porque ja lo tengo AlClient,

Obligo a redibujar el Grid, y la barra sale de nuevo.

Piensa que si no, es un poco engorro, el echo de que tengas mas registros que mostrar y no este la barra del Grid, para poder navegar por ellos.

A mi me funciona siempre, desde hace años.
Antes busque alguna solución mas elegante, pero no obtuve respuestas.

Gabo 18-09-2007 09:34:11

Cita:

Empezado por Gabriel (Mensaje 231794)
Bueno encima encima del componente no.

Pongo el Form, un panel, pequeño, o del tamaño que quieras en Aling al Top o AlBottom.

el Grid, por ejemplo Al Client, i al cambiar el panel de tamaño, el grid no me cambiaría, porque ja lo tengo AlClient,

Obligo a redibujar el Grid, y la barra sale de nuevo.

Piensa que si no, es un poco engorro, el echo de que tengas mas registros que mostrar y no este la barra del Grid, para poder navegar por ellos.

A mi me funciona siempre, desde hace años.
Antes busque alguna solución mas elegante, pero no obtuve respuestas.

Pues nada, lo dicho, si funciona... adelante!!! Lo probaré, muchas gracias :)

gluglu 18-09-2007 10:02:03

No había intervenido hasta ahora porque suponía que Gabo tenía conocimiento de este hilo en el cual participé en su momento.

Entiendo que no hace falta ningún Panel ni nada. Basta con redimensionar el propio DBGrid para que vuelvan a aparecer la barra de Scroll vertical.

Código Delphi [-]
procedure DataSource1DataChange(Sender: TObject; Field: TField);
begin
  DBGrid1.Height := DBGrid1.Height + 1;
  DBGrid1.Height := DBGrid1.Height - 1;
end;

Saludos ;)

Gabo 18-09-2007 10:10:40

Cita:

Empezado por gluglu (Mensaje 231808)
No había intervenido hasta ahora porque suponía que Gabo tenía conocimiento de este hilo en el cual participé en su momento.

Entiendo que no hace falta ningún Panel ni nada. Basta con redimensionar el propio DBGrid para que vuelvan a aparecer la barra de Scroll vertical.


Código Delphi [-]procedure DataSource1DataChange(Sender: TObject; Field: TField);
begin
DBGrid1.Height := DBGrid1.Height + 1;
DBGrid1.Height := DBGrid1.Height - 1;
end;




Saludos ;)

:eek: :eek: :eek: Sí, ya lo había leído, supongo que en ese momento no estaría muy lúcido de mente ya que pasé por alto la solución al problema... ¡Qué vergüenza! :o :p :o

Por lo que veo, la solución pasa por redibujar el DBGrid..

gluglu 18-09-2007 10:13:49

Cita:

gluglu comentó en un hilo que al parecer es un bug ...
Es que al leer esto por parte tuya dí por supuesto que habías leido el hilo y buscabas información adicional. ;)

Gabriel 18-09-2007 23:42:47

DBGrid
 
Pregunto ?

Si el DBGrid esta en Aling AlClient, también se redibuja ?

El panel al estar en AlTop, si que realmente se hace mas grande o mas pequeño.
Panel1.Heigth := Panel1.Heigth + 1
Panel1.Heigth := Panel1.Heigth - 1

Pero bueno, todo es cuestión de probar, que probar eso no es mucha faena.

Ya os contare

Saludos


La franja horaria es GMT +2. Ahora son las 18:11:14.

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