Hola wull.
Si no entiendo mál lo que buscas podrías manejar el filtrado desde la sentencia SQL, un ejemplo basado en la tabla
country de
dbdemos:
Código Delphi
[-]
...
procedure TForm1.FormCreate(Sender: TObject);
begin
Query1.Open;
ComboBox1.Clear;
ComboBox2.Clear;
while not Query1.Eof do
begin
ComboBox1.Items.Add(Query1.FieldByName('CONTINENT').AsString);
ComboBox2.Items.Add(Query1.FieldByName('NAME').AsString);
Query1.Next;
end;
end;
procedure TForm1.ComboBoxChange(Sender: TObject);
begin
with TComboBox(Sender) do
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('SELECT * FROM COUNTRY ');
if Name = 'ComboBox1' then
Query1.SQL.Add('WHERE CONTINENT = :PVALUE')
else
Query1.SQL.Add('WHERE NAME = :PVALUE');
Query1.ParamByName('PVALUE').AsString := Items[ItemIndex];
Query1.Open;
end;
end;
Asigna el método
ComboBoxChange al evento
OnChange de ambos
TComboBox.
Saludos.