Delphi - Filtrar

 
Vista:

Filtrar

Publicado por Carmen Alicia (2 intervenciones) el 18/07/2008 19:07:23
Hola a todos de antemano gracias...

Tengo dos DBLokusCombobox en los cuales me muestra informacion de dos tablas
Una de Grupos y Otra de Subgrupos.

Lo que quiero es que cuando escoja un grupo me filtre el subgupo que corresponda a ese grupo...

Que hago?
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

RE:Filtrar

Publicado por pacopaz (104 intervenciones) el 18/07/2008 21:23:56
Son dos dataset distintos para los dos combos?
Si es así, al hacer click (OnClick) o salir (OnExit) del primero, puedes hacer esto en el código del evento:

if not VarIsNull(Combo1.KeyValue) then
begin
Fuente2.DataSet.Filter = 'Campo = ' & VarToStr(Combo1.KeyValue);
Fuente2.DataSet.Filtered = True;
end
else
begin
Fuente2.DataSet.Filter = '';
Fuente2.DataSet.Filtered = False;
end;

donde:
Combo1 es tu primer combo
Fuente2 es el DataSource de tu segundo combo
Campo es el nombre del campo que se defe filtrar con trespecto al KeyField del primer combo y debe existir en la consulta que realizas para traer los datos del segundo combo

Esto hará que se defina un filtro y luego lo mandas filtrar. Si no has escogido nada del primer combo o si quitaste la selección o generaste un nuevo registro, hará que el filtro deje de existir (si existió alguna vez).

Espero que te sirva.

Saludos.
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

RE:Filtrar

Publicado por Carmen Alicia (1 intervención) el 21/07/2008 17:34:53
Hola
Pacopaz la linea de codigo
Fuente2.DataSet.Filter = 'Campo = ' & VarToStr(Combo1.KeyValue);
ME aroja un error en &,

NO se aque se deba

Gracias
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

RE:Filtrar

Publicado por pacopaz (104 intervenciones) el 21/07/2008 19:16:08
Perdón, estaba pensando en vb (actualmente estoy más metido en vb que en delphi).
Cambia '&' por '+'
Así debe de funcionar.

Saludos.
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