Hola hgiacobone.
Tanto el
DBLookupComboBox como el
DBComboBox representan visualmente los valores de los campos que existen en
una tabla. Por lo que si no existe un campo con el valor '< mostrar todos >', al menos yo, no veo la posibilidad de implementarlo.
Lo que creo que podés hacer es usar un
ComboBox. Asignar en la primera posición la cadena que desees, luego llenarlo con
los campos de la tabla y usar el evento
OnChange del Combo para actualizar la seleccion realizada en el mismo.
Te pongo un ejemplo:
Código Delphi
[-]
...
procedure TForm1.FormShow(Sender: TObject);
begin
ComboBox1.Items.Clear;
ComboBox1.Items.Add('< mostrar todos >');
IBQuery1.Close;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add('SELECT * FROM COUNTRY');
IBQuery1.SQL.Add('ORDER BY COUNTRY');
IBQuery1.Open;
while not IBQuery1.Eof do
begin
ComboBox1.Items.Add(IBQuery1.FieldByName('COUNTRY').AsString);
IBQuery1.Next;
end;
IBQuery1.First;
ComboBox1.ItemIndex:= 0;
ComboBox1.Sorted:= True;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
IBQuery1.Close;
IBQuery1.SQL.Clear;
if ComboBox1.ItemIndex = 0 then
begin
IBQuery1.SQL.Add('SELECT * FROM COUNTRY');
IBQuery1.SQL.Add('ORDER BY COUNTRY');
end
else
begin
IBQuery1.SQL.Add('SELECT * FROM COUNTRY WHERE COUNTRY = :COUNTRY');
IBQuery1.SQL.Add('ORDER BY COUNTRY');
IBQuery1.ParamByName('COUNTRY').AsString:= ComboBox1.Text;
end;
IBQuery1.Open;
end;
...
Un saludo.