Filtrado

Buen día experto. Tengo un formulario con una caja de texto y una grilla con todos los registros de una tabla. Lo que necesito hacer es ir filtrando los datos de la grilla a medida que voy escribiendo en el cuadro de texto. P/ej: si en el cuadro de texto escribo "ESC" que en la grilla solo se visualizen aquellos registros que comienzan con "ESC". Desse ya, gracias.

1 Respuesta

Respuesta
1
Bien lo que tienes que hacer es lo siguiente:
En el cuadro de texto por ej.
thisform.buscarpalabara.value
1- en el metodo InteractiveChange digita lo siguiente
SELE xtabla
set near on
SEEK alltrim(THIS.VALUE)
do case
case ThisForm.Optiongroup1.value=1
lccam2='producto'
case ThisForm.Optiongroup1.value=2
lccam2='nombre'
case ThisForm.Optiongroup1.value=3
lccam2='numcontrat'
endcase
IF empty(thisform.buscarpalabara.value)
set filter to
ELSE
Set filt to upper(allt(thisform.buscarpalabara.value))$upper(&lccam2)
Endif
Go top
Thisform. GRID1. Refresh
Thisform. GRID1. Setfocus
Thisform. Buscarpalabara. Setfocus
Ok, esa solución la tenía. Perdón por no haber sido más explícito, en realidad quiero hacer el filtrado en la grilla pero sin utilizar el set filter porque el sistema corre en red y se ralentiza en demasía.
Esa consulta la tienes que hacer con cursores, para no tener el problema de la lentitud en red y por supuesto evitar conflictos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas