Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   2 Combobox relacionados (https://www.clubdelphi.com/foros/showthread.php?t=31760)

Bairon Kumon 17-05-2006 05:59:05

2 Combobox relacionados
 
Hola a todos, mi problema es que tengo dos combobox y dependiendo el resultado del primer combobox el segunda desplegara informacion relacionada

ejemplo

Comboboxpadre -- (primer combobox) las opciones que tendria serian:
*Autos
*Animales
*Verduras
*Frutas


Comboboxhijo -- (segundo combobox)
Si se escogio Autos en el segundo aparecirian
*Ford
*Nisan
*Chevroled
*Bmw

Si se escogio Animales en el segundo combobox deberia salir
*Perro
*Gato
*Lagarto
*Pez
*Caballo

Y asi las otras opciones del primer combobox cambiaran las opciones por combobox

Se me ocurrio hacerlo manualmente al escoger una opcion del primer combobox, borrar el contenido sel segundo y meter todas las opciones referentes a la opcion del primer combobox , todo esto con puro codigo

lei algunos temas relacionados con los combobox, lei que puedes hacerlo introduciendo la informacion en un archivo o en estos momentos se me paso la idea de utilizar la base de datos

Me interesa saber cual es la opcion mas optima y rapida de programar o si tiene algun ejemplo donde yo pueda basarme, gracias de antemano y por su opinion


Nos vemos

reevil 17-05-2006 06:18:42

mmhh no tengo un ejemplo y seria dificil sin no mencionas en que base de datos piensas trabajarlo (usar bases de datos es una buena idea pero depende de lo complejo de tu programa)

Si te decides a usar bases de datos posiblemente encuentre utiles los componenestes dbcombobox

Si prefieres los archivos para no tener que instalar cosas extras podrias hacer algo asi:

tener archivos como estos: autos.txt , animales.txt, frutas.txt, etc. en ellos los valoes que quieras.


1.- en el evento onchange de tu combobox padre abrir el archivo cuyo nombre sea igual a lo seleccionado en el combobox padre

2.- limpiar tu combobox hijo

3.- con un ciclo recorrer todos los renglones del archivo y añadir el valor al combobox hijo

saludos

miguelml 17-05-2006 16:28:37

Asi a lo pronto, lo mejor creo yo que seria una base de datos, lo veo bastante simple, nose, un par de dblookupcombobox, con una consulta cada una, y en el "onchange" del primero, modificar la consulta del segundo. Es bastante sencillo.

Un saludo.

Bairon Kumon 17-05-2006 18:48:48

Gracias, por sus concejos creo que me voy con la base de datos, SQL Server ya que en la aplicacion que estoy desarrollando utilizo una base de datos, nuevamente graciax


Nos vemos

Lepe 17-05-2006 18:52:33

Poder .... se puede hacer hasta con un StringList, sin base de datos y bastante fácil, es cuestión de pensarlo.

Cada String puede tener un objeto asociado, usándolo... a la cadena "autos" le puedo asociar un objeto que también es un TStringList, de tal forma que al elegir el auto en el combo:
Código Delphi [-]
 elegido := combo1.itemindex;
 if itemindex <> -1 then
   Combo2.Assign( TStringlist(combo1.Objects[combo1.itemindex]));

Listo, ya tenemos borrado el combo2 y añadido todas los tipos de autos.

Por supuesto habría que tenerlos guardados cada uno en un archivo, pero vamos es cosa de niños usando ComboX.SaveToFile('c:\combo2.dat');

Todo dependerá de las especificaciones de tu programa.

Si solo es para 2 o 3 combos, lo haría de forma manual y evito tener que sobrecargar el programa con controles de Acceso a BBDD y demás.

Si deseas sacar listados de los animales, frutas, hacer facturas o tickets de compra... pues igual una Base de datos es mejor idea.

Saludos


La franja horaria es GMT +2. Ahora son las 14:11:31.

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