Manejar un grid

hola querido amigo

tengo una pregunta.

como puedo hacer que medida que vaya digitando una letra en un texbox baya mostrando las considencias en un grid

te agradezco me ayudes con esto

1 Respuesta

Respuesta
1

Tienes que tener un nombre de campo de la tabla del cual vas hacer la comparación, puedes utilizar locate for para buscar en dicho campo y seguidamente ir a ese registro!...

Hacemos mas o menos lo siguiente
Supongamos que tengo una tabla con el nombre TABLAX asociada al grid con el nombre MYGRID y de dicha tabla vamos a tomar como referencia el campo NOMBRE
SET EXACT OFF&&para que la búsqueda se realice buscando campos que tengas esas letras coincidentes
LOCATE FOR UPPER(alltrim(NOMBRE))=Alltrim(UPPER(This.Value))&&Esto lo que hace es buscar en cada registro y se desplaza al primer registro encontrado que coincida con los caracteres ingresados en el textbox
IF FOUND()&&Comprueba si encontró coincidencia
GO RECNO()&&Va al registro de la coincidencia
Thisform.MyGRID.SetFocus()&&Lleva el focus a la grid
This.SetFocus()&&Devuelve el focus al textbox
ENDIF

ise lo que me dijiste si eso funciona.

pero creo que no entendiste o yo nu supe formularte la pregunta en fin te explico

mira cuando este digitado en el texbox las primera letra por ejemplo los registro que están en grid se vayan moviendo.

Ok

Te refieres a que si vas escribiendo una palabra se te muestren todos los registro que comiencen con esa palabra y que los demás registros que no coincidan con esa palabra no se muestren?

claro creo que me entendiste te agradezco me alludes

Lo que necesitas es filtrar los registros de la tabla para que el grid solo muestre los que coincidan con los caracteres ingresados en el grid, lo puedes hacer de la siguiente manera:

Coloca este código en el evento Interactivechange del textbox donde ingresas la palabra a buscar

PUBLIC cValor&&Creamos una variable publica de lo contrario da error
cValor=AllTRIM(This.Value) &&Le asignamos el valor del textbox
SET FILTER TO LIKE(UPPER(cValor)+'*',UPPER(Nombre_Del_campo_de_Tabla)) &&Filtramos la tabla para quien nuestro Grid solo muestre los registros que coinciden

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas