Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   desahabilitar el scrollbar en un combobox (https://www.clubdelphi.com/foros/showthread.php?t=83817)

kurono 01-08-2013 20:24:11

desahabilitar el scrollbar en un combobox
 
hola amigos como estan les cuento que tengo un combobox el cual lo lleno con los datos de un dbgrib todo bien hasta ahi el problema surge cuando activo el autodropdown que no me despliega todos los registro sino que me muestra uno a uno presionando un scrollbar pequeno que sale quisiera saber como hacer que me salga la lista completa

ecfisa 01-08-2013 20:58:42

Hola kurono.

No sé si te referis a esto, pero proba de este modo:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
begin
  ComboBox1.AutoDropDown  := True;
  ComboBox1.DropDownCount := MaxInt; // la cantidad de lineas que desees mostrar
end;
Con MaxInt, el efecto no es muy lindo que digamos...

Saludos. :)

kurono 01-08-2013 21:12:14

lo acabo de probar pero sigue igual

ecfisa 01-08-2013 21:47:38

Que extraño...

Con este código:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
  i : Integer;
begin
  ComboBox1.Clear;
  for i := 1 to 100 do
    ComboBox1.Items.Add('Item '+IntToStr(i));
  ComboBox1.AutoDropDown  := True;
  ComboBox1.DropDownCount := 30;
end;

Obtengo este resultado:



Saludos :)

kurono 01-08-2013 23:04:25

tengo el siguiente codigo en el evento OnPresskey del combobox

Código Delphi [-]
var
  S1:string;
begin
  s1:=ComboBox1.Text;
  if Length(S1) >0 then
  begin
    Frm_DM.CS_BA.Close;
    Frm_DM.CS_BA.SQL.Clear;
    Frm_DM.CS_BA.SQL.Add('SELECT Orden,Articulos,Descripcion,Unidad,Cantidad,FechaInicio FROM ARTICULOS');
    Frm_DM.CS_BA.Sql.Add('WHERE ARTICULOS Like'+QuotedStr(combobox1.Text+'%'));
    Frm_DM.CS_BA.Open;

    while not Frm_DM.CS_BA.Eof do  //mientras haya registros
    begin
      ComboBox1.Items.Add(Frm_DM.CS_BA.FieldbyName('Articulos').AsString);  // agregar valor del campo al combo
      Frm_DM.CS_BA.Next;  // siguiente registro
    end;
      Frm_DM.CS_BA.First;
   end
   else
    if Length(S1)=0 then
       ComboBox1.Items.Clear;
       ComboBox1.SetFocus;

no se si este sera el problema

ecfisa 02-08-2013 03:42:36

Hola kurono.

A ver si interpreté lo que buscas hacer...

Probá este código en el evento OnChange del TComboBox:
Código Delphi [-]
...
begin
  with Frm_DM.CS_BA do
  begin
    if ComboBox1.Text > '' then
    begin
      Close;
      SQL.Clear;
      SQl.Add('SELECT ORDEN, ARTICULOS,DESCRIPCION, UNIDAD, CANTIDAD, FECHAINICIO');
      SQL.Add('FROM ARTICULOS WHERE ARTICULOS LIKE :PVALOR');
      ParamByName('PVALOR').AsString := ComboBox1.Text+'%';
      Open;
      while not eof do
      begin
        ComboBox1.Items.Add(FieldByName('NAME').AsString);
        Next;
      end;
      ComboBox1.AutoDropDown := True;
      ComboBox1.DroppedDown  := True;
    end
    else
      ComboBox1.Items.Clear;
  end;
end;

Saludos. :)

kurono 02-08-2013 04:59:56

e probado el codigo y funciona perfectamente como lo queria aunque le hise alguna modificacion
gracias ecfisa

kurono 02-08-2013 19:56:57

disculpa ecfisa me surgieron dos problema que no me habia percatado antes y es que en el desplegue cuando seleciono un item no me trae el item selecionado me trae uno alazar y el otro problema es que no me esta filtrando la busqueda me trae todos los registro de la tabla que estaria pasando

kurono 03-08-2013 04:59:33

me respondo yo mismo ya solucione mi problema y me funciona muy bien


La franja horaria es GMT +2. Ahora son las 08:43:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi