Tema: Combobox
Ver Mensaje Individual
  #8  
Antiguo 04-12-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
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.

Se me ocurre que podrías simplificar con un Edit y un DBgrid.

.-En el DBGrid->Options pone a False dgIndicator y dgRowLines.
.-Poné el Edit sobre el título del DBGrid de forma que lo cubra totalmente.
.-Cambia el color del DBGrid para diferenciar.

Luego poné por ejemplo, algo como esto en el evento OnChange del Edit:
Código Delphi [-]
procedure TForm1.Edit1Change(Sender: TObject);
begin
  Query1.Close;
  Query1.SQL.Text:= 'SELECT * FROM PRUEBA WHERE CAMPO LIKE '+
     QuotedStr(Edit1.Text+'%');
  Query1.Open;
  if Query1.isEmpty and
   (MessageDlg('¿ Agrega '+Edit1.Text+' ?',mtConfirmation,[mbYes,mbNo],0)=mrYes)then
  begin
    Query1.Close;
    Query1.SQL.Text:='INSERT INTO PRUEBA(CAMPO) VALUES(:CAMPO)';
    Query1.Params.ParamByName('CAMPO').AsString:= Edit1.Text;
    Query1.ExecSQL;
    Query1.Close;
    Query1.SQL.Text:= 'SELECT CAMPO FROM PRUEBA ORDER BY CAMPO';
    Query1.Open;
  end
end;

Da el aspecto de un ComboBox desplegado y realiza la función que creo que buscas.

Un saludo.

Última edición por ecfisa fecha: 04-12-2010 a las 01:49:14.
Responder Con Cita