![]() |
Filtrar datos en una lista
Hola, buen dia.
He encontrado como filtrar datos de una base de datos en un dbgrid, pero lo que pretendo es hacer una busqueda, filtrando datos pero en una lista o cualquier otro componente que me permita seleccionar, para posteriormente poder seleccionar el registro que quiero y al dar enter, que presente la informacion en sus respectivos edit, para poder eliminar o modificar. Dado que en el dbgrid no puedo seleccionar.. Es decir, en un edit teclear "ca" y que me aparezcan todos los registros que comiencen con esta secuencia, al dar enter que me pase el control al componente y poder seleccionar por medio de las flechas arriba o abajo el registro deseado, al darle enter que me aparezca la informacion del registro seleccionado en edits. |
Puedes utilizar SQL y cuando pulses enter o la tecla que tengas designada o un botón...
Activas la consulta:
Esta consulta le conectas un DataSource y a éste último una rejilla. Un Saludo. |
Hola Lizette, debes hacer lo que te indica el amigo marcoszorrilla, solo que en tu consulta deberías utilizar solo el % del final.
Y ahora para cuando hagas enter sobre un registro del DBgrid utilizas el evento OnKeyPress del DBGrid.
Saluditos |
Gracias Caro y marcoszorrilla, me funcionó de maravilla.. :)
|
mmmm, el dbgrid no me actualiza los datos, cuando inserto datos y me voy al dbgrid, éste no tiene el registro que inserte..
Le pongo refresh al dbgrid y sigue igual, que puedo hacer? |
Hola de nuevo, despues de hacer tus cambios, con el query que esta enlazado a tu DBGrid haces lo siguiente:
Saluditos |
Ok, gracias Caro.
|
Tengo otra inquietud, no se me hizo muy adecuado, dar enter al edit y dar enter al dbgrid, estoy tratando de que al darle enter al edit, cuando ya tengo en el dbgrid el dato filtrado, me aparezcan los respectivos datos en los edits de ese registro que se encuentra filtrado en la primera posicion del dbgrid.
Le estuve intentando pero siempre me despliega el primer registro que tengo en la tabla. |
Hola Lizzete, supongo que tu filtrado lo haces en el evento OnChange de tu Edit, para el enter es solo usar el evento OnKeyPress de ese mismo edit.
Saluditos |
Hola gracias Caro,, tengo otro pequeño problema, cuando estoy filtrando los datos y pongo en el edit "li" me despliega los nombres con esas incidencias, si tengo "rererere" y pongo toda la palabra me la acepta, pero tengo un registro "lizette", si pongo "li" lo acepta y me filtra pero si pongo "liz" no me da nada en el dbgrid, siendo que si tengo un registro con "lizette"..
Aqui anexo el codigo:
|
Se me paso comentar:
Que si voy borro letra por letra el edit una vez teniendo "liz", borro la "z" me causa error y me saca del programa. Gracias |
Estas mezclando varias cosas amiguita, no esta bien que lo hagas así, habria sido mejor que utilizaras un AdoQuery e hicieras la consulta, pero si quieres hacerlo con Filter, debes utilizar también "Like", el Inc esta demas y el Locate también. Tu codigo quedaría así:
Nota.- Si te da algún error en tu codigo, debes indicarnos siempre el error exacto que te esta dando para poder ayudarte mejor. Saluditos |
Gracias por tu ayuda Caro, si me funcionó..
|
| La franja horaria es GMT +2. Ahora son las 10:24:44. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi