Foros Club Delphi

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

donpedro 18-02-2013 20:50:25

tdblookupcombobox
 
Hola a todos espero que esten bien, y que Dios les bendiga, estoy trabajando en delphi 2009 utilizando mysql como base de datos realizando un sistema para colegios,,, tengo un modulo donde le asigno a los profesores las materias que van a impartir en sus respectivos cursos.....

tengo un tdblookupcombobox donde cargo los cursos junto con el id y otros datos.. como se muestra en la imagen



el problema es que tengo cursos iguales con carreras diferentes ejemplo como muestra la imagen

en el id 014 tengo a tercero de bachiller con una carrera tecnico en informatica y en el id 015 tengo tambien tercero de bachiller pero con carrera general

cuando selecciono uno el tdblookupcombobox me selecciona entonces los registros que tienen materias iguales como se puede apreciar en la imagen.....

que hago para que este componente no tenga ese tipo de comportamiento......

espero haberme explicado lo suficiente......gracias por su ayuda de antemano....

ecfisa 18-02-2013 21:20:17

Hola donpedro.

Recuerda poner títulos descriptivos del problema, tdblookupcombobox no dice mucho hacerca de él.

Cita:

que hago para que este componente no tenga ese tipo de comportamiento......
Lo que no me queda claro es que tipo de comportamiento esperas obtener.

Si lo que deseas es que se pudieran diferenciar mas claramente que por el código, podrías concatenar el curso y la orientación, por ejemplo:
Cita:

014 | TERCERO BACHILLER INFORMATICA
015 | TERCERO BACHILLER GENERAL
Si es eso y existe un campo para la orientación, basta con que escribas los dos campos en la propiedad ListField separados por un punto y coma (;)

Saludos.

donpedro 18-02-2013 21:36:04

Hola ecfisa, le coloque el punto y coma y le agregue el campo carrera, pero aun asi me selecciona los dos.....
lo que quiero es seleccionar un solo registro, que aunque sean iguales, lo diferencia por el id o por la carrera........
porque cuando le doy click al registro con id 014 tambien se me selecciona el 015 y no quiero que haga eso.......

en caso de que no tenga solucion, tendre que usar un combobox clasico, y cargarle los datos mediante un query

pero aun espero una solucion......

luisgutierrezb 18-02-2013 22:36:53

Puedes poner como haces todas las asignaciones del DBlookup, porque generalmente cuando pasa eso, es que hay id's repetidos...

donpedro 18-02-2013 22:55:25

gracias por sus sugerencias, pude resolverlo,, gracias a luisgutierrezb,, que al hablar de ids repetidos se me prendio el bombillito
como los gradoid no son iguales puse ese campo en el keyfield y en el listfieldindex puse el indice 1 que corresponde al campo curso

y exactamente funciono,,,, ya que tenia ids repetidos......este tema se puede dar por cerrado

ecfisa 18-02-2013 22:56:23

Cita:

Empezado por luisgutierrezb (Mensaje 455188)
Puedes poner como haces todas las asignaciones del DBlookup, porque generalmente cuando pasa eso, es que hay id's repetidos...

Exácto, es como comenta Luis.

Seguramente tengas la propiedad KeyField del DBLookupComboBox relacionada al campo "curso" y no al campo "ID". De ese modo al seleccionar por ejemplo "TERCERO BACHILLER", todos los registros que tengan ese valor serán seleccionados.

La solución es asignar a KeyField el campo ID (que se supone son únicos) y a ListField lo que deseas que sea mostrado.

Saludos.


La franja horaria es GMT +2. Ahora son las 11:05:02.

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