Scroll en un Grid

562 views
Skip to first unread message

integral

unread,
Jan 29, 2015, 1:03:02 PM1/29/15
to publice...@googlegroups.com
Estimados Amigos .

Estoy tratando de hacer un Grid un desplazamiento automático hacia arriba es decir al principio.

De esta forma presentar las ultimas carpetas  pero  me muestra las carpetas de años anteriores y son mas de 1000 registros y da la impresión que solo fueran unos cuantos registros...

Alguna solución   

saludos,

INTEGRAL


Grid_Scroll.jpg

César Pistiner

unread,
Jan 29, 2015, 1:16:33 PM1/29/15
to publice...@googlegroups.com
Hola Integral,

Perdoname, pero no entendí nada... jajaja

¿Con el go top no se te soluciona?

Aprovecho para comentarte que tenes un tema pendiente bajo el asunto "Se puede automatizar o crear un filtro en EXCEL desde VFP".

Saludos,
César

Ultraton500

unread,
Jan 29, 2015, 1:43:53 PM1/29/15
to publice...@googlegroups.com
Integral, por lo que entiendo lo que necesitas es hacer un GO TOP como te indica César, obviamente estando la tabla/cursor ordenado por la fecha que te interesa. Agrégale por las dudas un THISFROM.grid1.REFRESH.

Saludos,
Javier. 

abauzah

unread,
Jan 29, 2015, 2:45:18 PM1/29/15
to publice...@googlegroups.com
Posiblemente estés buscando esto:

DoScroll Method
Scrolls the Grid control to simulate a user clicking the scroll bars.

Búscalo en la ayuda de VFP

integral

unread,
Jan 29, 2015, 2:54:48 PM1/29/15
to publice...@googlegroups.com
Que tal Amigo :

Estoy intentando de la siguiente forma pero el resultado no es el esperado... (Ver Imagen Adjunta)

for i = 1 to recno() - 1 
   thisform.grdDatos.DoScroll(0) 
endfor 

ó

*Thisform.grdDatos.DoScroll(2)

atte.,

INTEGRAL
Grid_Scroll_Arriba.jpg

Fidel Charny

unread,
Jan 29, 2015, 3:20:17 PM1/29/15
to publice...@googlegroups.com
Este truco tal vez te ayude:
SELECT cursor
GO top
WITH thisform
.grilla
   
.refresh
   
.setfocus
   
    nRows
=INT(FLOOR( (.Height - .HeaderHeight - IIF(INLIST(.scrollbars,1,3),17,0))/.rowHeight)/2)
ENDWITH
GO BOTTOM
FOR i
=1 TO nRows
    IF
!BOF()
        SKIP
-1
    ENDIF
ENDFOR
thisform
.grilla.SetFocus

integral

unread,
Jan 29, 2015, 3:58:03 PM1/29/15
to publice...@googlegroups.com
Gracias Amigo FIDEL .

Pero el resultado es el mismo, pero con el siguiente código, el Scroll no llega hasta el comienzo. Solo muestra hasta la carpeta 0019 y llegan hasta el 0046

Aqui el codigo :

SELECT cur_TCP
COUNT TO nCan
GO BOTTOM 

FOR i = 1 TO nCan - 1 
   Thisform.grdDatos.DoScroll(2)
ENDFOR 

PD : ADJUNTO IMAGEN DE LO EXPUESTO

atte.,

INTEGRAL


El jueves, 29 de enero de 2015, 13:03:02 (UTC-5), integral escribió:
Grid_Scroll_EnMedio.jpg
Reply all
Reply to author
Forward
0 new messages