Ver Mensaje Individual
  #11  
Antiguo 03-09-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola lito16.

Cita:
Lo que quiero hacer es que cuando selecciones una opcion del DBLookupComboBox, en el grid aparesca los resultados, y cuando lo deje en blanco esten todos los registros.
Hice la prueba directamente con los IBDataSet (para simplificar) usando los eventos OnCloseUp y OnDropDown del DBLookupComboBox .
Hace exáctamente lo que especificas en la cita.

Código Delphi [-]
// (DBLookupComboBox -> Cliente ; DBGrid -> Localidades)
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  IBDataSetCliente.Open;
  IBDataSetLocalidad.Open;
  with DBLookupClientes do
  begin
    ListSource:= dsCliente;
    ListField:= 'NOMBRE';
    KeyField:= 'CLIENTE_ID';
  end;
end;

procedure TForm1.DBLookupClientesCloseUp(Sender: TObject);
begin
  if DBLookupClientes.Text > '' then
    with IBDataSetLocalidad do
    begin
      Close;
      SelectSQL.Text:= 'SELECT * FROM LOCALIDADES WHERE LOCALIDAD_ID = '+
           IBDataSetCliente.FieldByName('LOCALIDAD').AsString;
      Open;
    end;
end;

procedure TForm1.DBLookupClientesDropDown(Sender: TObject);
begin
  DBLookupClientes.KeyValue:='';
  with IBDataSetLocalidad do
  begin
    Close;
    SelectSQL.Text:= 'SELECT * FROM LOCALIDADES';
    Open;
  end;
end;
...

Espero haberte interpretado bíen...

Saludos.

Última edición por ecfisa fecha: 03-09-2010 a las 10:00:03.
Responder Con Cita