Delphi - filtrado o busqueda de registro a meida que escribo

 
Vista:

filtrado o busqueda de registro a meida que escribo

Publicado por vanesa (2 intervenciones) el 07/01/2013 06:20:25
hola señores, feliz año nuevo para tpdps y serte..

una simple pregunta....


tengo un dbgrid, un eidt1, un boton1, y deseo que a media que vaya escribiendo una palabra en el edit1, en el dbgrib me vaya eliminando las palabras que no coinciden con lo que voy escribiendo.

Tengo en el dbgrib una lista de palabras, por ejemplo 100 palabras, a medida que yo escribo letras en el edit, en el dbgrid se vayan eliminando las palabras que no empiesan cone sa letra..

escribo c, y me muestre todas las palabras con c y las otras se borren del dbgrid

escribo ca y me muestre todas las palabras con ca y las otras se borren del dbgrid

escribo can y me muestre todas las palabras con can y las otras se borren del dbgrid

me mostraria todas las palabras que empiezan con CAN, quedaria algo asi...

can
cantar
cancion
cantina

Y esta parte ya no me hace falta, pero si esta facil.. acepto sugerencia o explicacion
---------------------------------cuando termino de escrbir la palbra y hago click en buscar, y que me deje todas las palabras que coinciden exactamente....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

filtrado o busqueda de registro a meida que escribo

Publicado por sergio (1 intervención) el 07/01/2013 16:29:48
Hola vanesa, prueba con esto...
DM.. TDatamodulE
en el (evento onChange) del edit pon esto



1
2
3
4
5
6
7
8
9
10
11
12
13
procedure TPBuscar.Edit1Change(Sender: TObject);
begin
   If Edit1.Text <> '' then
   Begin
     With DM.Internos do
     Begin
      Case ComboBox1.ItemIndex of
       0: Locate('Apellidos',Edit1.Text,[loCaseInsensitive, loPartialKey]);
       1: Locate('Nombres',Edit1.Text,[loCaseInsensitive, loPartialKey]);
        end; // Case
     end; // With
   end;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

filtrado o busqueda de registro a meida que escribo

Publicado por vanesa (2 intervenciones) el 07/01/2013 16:57:59
gracias...

si bien.. eso ya lo tenia, pero lo que busco es que me borre todas las demas palabras que no coinciden con la primer letra que escribo, por ejemplo de una lista de 100 palabras, en el edit voy escribiendo las letras de la palabra CANtar

presiono la c, y en el dbgrid2me mostrara solo las letras que empeizan con c, las demas palabras me elimina

can
cantar
cancion
cantina

cuando escribo cant, me mostrara solo la palabra cantrar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

filtrado o busqueda de registro a meida que escribo

Publicado por virum (484 intervenciones) el 19/01/2013 20:25:31
Eso lo tienes que hacer con select sql

No dices que base de datos es, pero esto te puede ayudar, esto funciona en FireBird, está hecho para buscar el título de un libro, adaptalo a las palabras que buscas.

Pon en el evento OnChange algo como esto pero adaptado a tus campos, a tu base de datos y a tus componentes. Informate sobre lenguaje sql

//cerrar dataset
DM.IBDSBuscLibros.Close;

DM.IBDSBuscLibros.SelectSQL.Text := 'select * from LIBROS where UPPER(TITULO) LIKE :BUSCAR order by TITULO'

//abrir dataset
DM.IBDSBuscLibros.Open;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar