Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2010-12

Combobox

9 messages · 4 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Lissy Amador

Hola!
Estoy lidiando con un combobox, quiero que me muestre los datos de una de mis columnas de mi BD, pero no me muestra ningun item, que estoy haciendo mal?

procedure TForm2.ComboBox1Change(Sender: TObject);
begin
  Combobox1.Clear;
  zquery1.SQL.Text:= 'SELECT * FROM empresas';
  zquery1.Open;
  while not zquery1.EOF  do
  begin
   Combobox1.Items.Add(ZQuery1.FieldByName('nombre').AsString);
   zQuery1.Next;
  end;
  zQuery1.Close;
end;

Reply by email

Christian Ortiz
to Lissy Amador

El 08/12/2010 08:19 a.m., Lissy Amador escribi�:

Show quoted text 5 lines
Hola! Estoy lidiando con un combobox, quiero que me muestre los datos de una de mis columnas de mi BD, pero no me muestra ningun item, que estoy haciendo mal?

solo por casualidad.. �datos grabados en la base?

Show quoted text 17 lines
procedure TForm2.ComboBox1Change(Sender: TObject); begin Combobox1.Clear; zquery1.SQL.Text:= 'SELECT * FROM empresas'; zquery1.Open; while not zquery1.EOF do begin Combobox1.Items.Add(ZQuery1.FieldByName('nombre').AsString); zQuery1.Next; end; zQuery1.Close; end; _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Lissy Amador
to Christian Ortiz

Si son datos que ya estan almacenados,(mi administrado de BD es phpmyadmin, inserte algunos datos desd alli, entonces lo que quiero hacer es que el combo box me muestre los datos ya almacenados)

He intentado cambiar el combobox por un DBcombobox pero tengo el mismo proplema no me muestra los item, aunque solo me mostro el primer registro active la propiedad del datasource y le asigno el archivo pero solamente me muestra un valor,

Tambien intene agregar solo el item (doble click en el componente)
procedure TForm2.ComboBox1Change(Sender: TObject);
begin
 Combobox1.Items.Add('juan');
Eend;
Earlier message 33 lines
----- Mensaje original ----- De: "Christian Ortiz" <xortix en gmail.com> Para: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Enviados: Mi�rcoles, 8 de Diciembre 2010 8:05:23 Asunto: Re: [Lazarus-es] Combobox El 08/12/2010 08:19 a.m., Lissy Amador escribi�: > Hola! > Estoy lidiando con un combobox, quiero que me muestre los datos de una > de mis columnas de mi BD, pero no me muestra ningun item, que estoy haciendo > mal? > solo por casualidad.. �datos grabados en la base? > procedure TForm2.ComboBox1Change(Sender: TObject); > begin > Combobox1.Clear; > zquery1.SQL.Text:= 'SELECT * FROM empresas'; > zquery1.Open; > while not zquery1.EOF do > begin > Combobox1.Items.Add(ZQuery1.FieldByName('nombre').AsString); > zQuery1.Next; > end; > zQuery1.Close; > end; > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lists.lazarus.freepascal.org > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Julio C. Taborda
to Lissy Amador

Hola,

Show quoted text 13 lines
> procedure TForm2.ComboBox1Change(Sender: TObject); > begin > Combobox1.Clear; > zquery1.SQL.Text:= 'SELECT * FROM empresas'; > zquery1.Open; > while not zquery1.EOF do > begin > Combobox1.Items.Add(ZQuery1.FieldByName('nombre').AsString); > zQuery1.Next; > end; > zQuery1.Close; > end; >

Prob� de poner ese c�digo dentro de otro evento, por ejemplo en TForm2.show.

Reply by email

Lissy Amador
to Julio C. Taborda

tengo dos forms una es para el ingreso de usuarios, que es algo muy sencillo que necesito mejorar(si el edit1, text= 'usuario' entonces mueste el siguiente form)

En el otro form tengo paneles donde hago el ingreso y la busqueda

Lo que me dices seria como para activar el control, Creo que debe de haber un error en la forma de decir que me muestre los valores de cierto campo de mi tabla.
has usado combobox? si has usado como los has usado?

Earlier message 24 lines
----- Mensaje original ----- De: "Julio C. Taborda" <julio_taborda en yahoo.com.ar> Para: lazarus-es en lists.lazarus.freepascal.org Enviados: Mi�rcoles, 8 de Diciembre 2010 10:13:19 Asunto: Re: [Lazarus-es] Combobox Hola, > > procedure TForm2.ComboBox1Change(Sender: TObject); > > begin > > Combobox1.Clear; > > zquery1.SQL.Text:= 'SELECT * FROM empresas'; > > zquery1.Open; > > while not zquery1.EOF do > > begin > > Combobox1.Items.Add(ZQuery1.FieldByName('nombre').AsString); > > zQuery1.Next; > > end; > > zQuery1.Close; > > end; > > Prob� de poner ese c�digo dentro de otro evento, por ejemplo en TForm2.show.

Reply by email

Julio C. Taborda
to Lissy Amador

Hola Lissy,

Hace un tiempo que no programo y no tengo lazarus en esta pc para probar.

A simple vista me parece que el c�digo para cargar valores al combo est� bien, lo que me parece que est� mal es donde se ejecuta. (en este caso en el combobox1change).

Yo usaba un c�digo similar pero ejecut�ndolo desde el evento show del formulario para cargar datos iniciales en el combo. Otra opci�n que usaba era cambiar los datos del combo cuando se seleccionaba un item en otro combo.

Por ejemplo:
Cargar datos iniciales del combo en el formshow:

 procedure TForm2.FormShow(Sender: TObject);
 begin
    Combobox1.Clear;
    zquery1.SQL.Text:= 'SELECT * FROM empresas';
    zquery1.Open;
    zQuery1.First;   //<<-- para probar; no recuerdo si es necesario.
    while not zquery1.EOF  do begin
     Combobox1.Items.Add(ZQuery1.FieldByName('nombre').AsString);
     zQuery1.Next;
    end;
    zQuery1.Close;
 end;

Otro ejemplo puede ser:

 procedure TForm2.ComboBoxNuevo1Change(Sender: TObject);
 begin
    Combobox1.Clear;
// cambiar el select para filtrar datos de acuerdo a lo seleccionado en
// otro combobox.
    zquery1.SQL.Text:= 'SELECT * FROM empresas where ...';<<-- Modificar
    zquery1.Open;
//    zquery1.First;  <<-- Probar si hace falta.
    while not zquery1.EOF  do
    begin
     Combobox1.Items.Add(ZQuery1.FieldByName('nombre').AsString);
     zQuery1.Next;
    end;
    zQuery1.Close;
 end;

Espero que te ayude un poco y no te haya confundido m�s.

Saludos

Julio.

Reply by email

Lissy Amador
to Julio C. Taborda

Gracias, intente de ambas formas pero no, el combobox no me muestra ningun item y en el DBcombobox solamente me muestra el primer registro de mi tabla, Creo que el problema esta en la sentencia SQL, creo que devo de usar JOIns para unir las tablas

Earlier message 61 lines
----- Mensaje original ----- De: "Julio C. Taborda" <julio_taborda en yahoo.com.ar> Para: lazarus-es en lists.lazarus.freepascal.org Enviados: Mi�rcoles, 8 de Diciembre 2010 11:31:37 Asunto: Re: [Lazarus-es] Combobox Hola Lissy, Hace un tiempo que no programo y no tengo lazarus en esta pc para probar. A simple vista me parece que el c�digo para cargar valores al combo est� bien, lo que me parece que est� mal es donde se ejecuta. (en este caso en el combobox1change). Yo usaba un c�digo similar pero ejecut�ndolo desde el evento show del formulario para cargar datos iniciales en el combo. Otra opci�n que usaba era cambiar los datos del combo cuando se seleccionaba un item en otro combo. Por ejemplo: Cargar datos iniciales del combo en el formshow: procedure TForm2.FormShow(Sender: TObject); begin Combobox1.Clear; zquery1.SQL.Text:= 'SELECT * FROM empresas'; zquery1.Open; zQuery1.First; //<<-- para probar; no recuerdo si es necesario. while not zquery1.EOF do begin Combobox1.Items.Add(ZQuery1.FieldByName('nombre').AsString); zQuery1.Next; end; zQuery1.Close; end; Otro ejemplo puede ser: procedure TForm2.ComboBoxNuevo1Change(Sender: TObject); begin Combobox1.Clear; // cambiar el select para filtrar datos de acuerdo a lo seleccionado en // otro combobox. zquery1.SQL.Text:= 'SELECT * FROM empresas where ...';<<-- Modificar zquery1.Open; // zquery1.First; <<-- Probar si hace falta. while not zquery1.EOF do begin Combobox1.Items.Add(ZQuery1.FieldByName('nombre').AsString); zQuery1.Next; end; zQuery1.Close; end; Espero que te ayude un poco y no te haya confundido m�s. Saludos Julio.

Reply by email

Lissy Amador

Ayuda !ALguien que sepa como usar un combobox
este es mi codigo per nada

procedure TForm2.ComboBox1Change(Sender: TObject);
begin
  Combobox1.Clear;
  zquery1.SQL.Text:= 'SELECT * FROM empresas where 2';
  zquery1.Open;
  zquery1.First;
  while not zquery1.EOF  do begin
   Combobox1.Items.Add(ZQuery1.FieldByName('nombre').AsString);
   zQuery1.Next;
      end;
   zQuery1.Close;
end;

Reply by email

Jesus Reyes
to Lissy Amador

--- El mi� 8-dic-10, Lissy Amador <01_lamador en soporteavanzado.com> escribi�:

Show quoted text 22 lines
De: Lissy Amador <01_lamador en soporteavanzado.com> Asunto: [Lazarus-es] combobox A: "Spanish version of Lazarus List" <lazarus-es en lists.lazarus.freepascal.org> Fecha: mi�rcoles, 8 de diciembre de 2010, 14:49 Ayuda !ALguien que sepa como usar un combobox este es mi codigo per nada procedure TForm2.ComboBox1Change(Sender: TObject); begin � Combobox1.Clear; � zquery1.SQL.Text:= 'SELECT * FROM empresas where 2'; � zquery1.Open; � zquery1.First; � while not zquery1.EOF� do begin ���Combobox1.Items.Add(ZQuery1.FieldByName('nombre').AsString); ���zQuery1.Next; � � � end; ���zQuery1.Close; end;

Lizzy como ya te dijeron, este codigo asi como lo pones no creo que te funcione.

El m�todo TForm2.ComboBox1Change correspondiente al evento del combo OnChange, es activado cada vez que seleccionas un elemento de la lista, y si el combo es "normal" o sea que es editable por el usuario, el evento tambi�n es activado cada vez el usuario teclea algo en el combo.

Seg�n mis c�lculos, ese combo te aparece inicialmente en vac�o, sin nada que seleccionar el evento OnChange no se activa y por lo tanto nunca se llena de informaci�n.

Haz como te dijeron, crea un procedimiento en Form2 que se llame por ejemplo: LlenarDatos, ahi mueve todo el c�digo que tienes ahora en TForm2.ComboBox1Change, en alg�n momento debes llamar a llenarDatos para que tu combo tenga informaci�n, ese momento depende de tu programa y es tan v�lido llamarlo tanto en FormCreate como en FormShow

Jesus Reyes A.

Reply by email