Hola a todos.
No soy amigo de usar otros componentes cuando los que están en la paleta de delphi pueden hacerlo.
¿ Motivos ? Varios, pero el principal es que cuando se nos presenta un problema con el componente, la información no existe o es de difícil acceso. Y este es un punto fuerte en su contra.(Es mi humilde mi opinión...)
Como dijo rgstuamigo (y coincido plenamente) el DBComboBox se adapta perfectamente a esta situación.
Pero sospecho que la reticencia a usarlo no es por su funcionalidad si no por el aspecto que quieren darle al ingreso.
De todos modos si lo que se busca es usar un TEdit con busqueda incremental (nada eficiente) y que vaya mostrando resultados por aproximación; se puede hacer con los componentes que incluye delphi.
Ejemplo(muy simplificado):
.-Agregar un
TEdit, un
TIBQuery (o
TQuery) un
TDataSource y un
TDBGrid.
.-Asociar el
DBGrid al
DataSource y este al
IBQuery (o TQuery).
.- Poner la propiedad
ReadOnly del
DBGrid a True.
.-Asignar al evento
OnChange del
TEdit el siguiente código:
Código:
procedure TForm1.Edit1Change(Sender: TObject);
begin
if Edit1.Text <> '' then
with Qry do
begin
Close;
SQL.Text:= 'SELECT NAME, CAPITAL FROM COUNTRY'+
' WHERE NAME LIKE '+QuotedStr(Edit1.Text+'%');
Open;
end
end;
Y Voilà!... tenemos el famoso cuadro que nos va a mostrar los datos que comienzan con las letras tecleadas. (Quedan ajustar detalles como el CharCase del Edit, los títulos del DBGrid etc).
Saludos.