busqueda incremental
Publicado por marcelo (4 intervenciones) el 17/08/2010 00:14:38
hola :
tengo un grid y un text en el cual hago una busqueda incremental.en el interactivechange del text tengo este codigo :
LOCAL NN ,MM
NN=0
SET NEAR ON
MM=UPPER(ALLTRIM(THIS.VALUE))
sele aspi
SEEK(MM)
NN=RECNO()
THISFORM.GRID1.SETFOCUS
THISFORM.TEXT2.SETFOCUS
THISFORM.GRID1.REFRESH
SET NEAR OFF
RETURN
esto funciona ok .a medida que pongo las letras el cursor se posiciona en el registro correcto .lo que no puedo lograr es que una vez que se posiciona en el grid pueda avanzar con las teclas de cursor hacia arriba y hacia abajo.
Para esto ,en el evento keypress del text de busqueda puse este codigo:
IF (LASTKEY()=24)
this.Parent.grid1.COLumn1.TEXT1.SetFocus &&paso el foco al text del grid
SELECT ASPI
SKIP
IF EOF()
GO BOTTOM
endif
this.Parent.grid1.Refresh
ENDIF
IF (LASTKEY()=5)
this.Parent.grid1.COLumn1.TEXT1.SetFocus &&paso el foco al text del grid
SELECT ASPI
SKIP -1
IF BOF()
GO BOTTOM
endif
this.Parent.grid1.Refresh
ENDIF
cuando presiono la tecla de cursor para bajar funciona bien ,el problema lo tengo cuando presiono la tecla para subir .el efecto es que se va directamente del grid a otro componente del form .
si alguien tiene alguna solucion mas optima desde ya gracias
tengo un grid y un text en el cual hago una busqueda incremental.en el interactivechange del text tengo este codigo :
LOCAL NN ,MM
NN=0
SET NEAR ON
MM=UPPER(ALLTRIM(THIS.VALUE))
sele aspi
SEEK(MM)
NN=RECNO()
THISFORM.GRID1.SETFOCUS
THISFORM.TEXT2.SETFOCUS
THISFORM.GRID1.REFRESH
SET NEAR OFF
RETURN
esto funciona ok .a medida que pongo las letras el cursor se posiciona en el registro correcto .lo que no puedo lograr es que una vez que se posiciona en el grid pueda avanzar con las teclas de cursor hacia arriba y hacia abajo.
Para esto ,en el evento keypress del text de busqueda puse este codigo:
IF (LASTKEY()=24)
this.Parent.grid1.COLumn1.TEXT1.SetFocus &&paso el foco al text del grid
SELECT ASPI
SKIP
IF EOF()
GO BOTTOM
endif
this.Parent.grid1.Refresh
ENDIF
IF (LASTKEY()=5)
this.Parent.grid1.COLumn1.TEXT1.SetFocus &&paso el foco al text del grid
SELECT ASPI
SKIP -1
IF BOF()
GO BOTTOM
endif
this.Parent.grid1.Refresh
ENDIF
cuando presiono la tecla de cursor para bajar funciona bien ,el problema lo tengo cuando presiono la tecla para subir .el efecto es que se va directamente del grid a otro componente del form .
si alguien tiene alguna solucion mas optima desde ya gracias
Valora esta pregunta
0