![]() |
como usar tcombobox
Nueva pregunta, necesito llenar con tcombobox con una lista de nombres y asociar a cada item del combo, su clave primaria, de manera tal que al seleccionar un elemento del combo, pueda capturar el id de dicho registro. Esto en vb y en c# era bastante facil, en vb se usaba, creo que un elemento llamado itemdata(combo.listindex), y en c#, un item de un combobox puede recibir un objeto con lo cual, puedo disponer de un objeto completo dentro de un item. ¿como se puede realizar esto con delphi? Vi un link para descargar un componente de este tipo, pero está probado hasta delphi 7 y yo estoy usando delphi2007, no se si esto me puede traer algún iconveniente mas tarde.
Saludos y gracias. |
Hola r1d2m3, para añadir elementos debes utilizar Add pero en tu caso como quieres asociarlo a tu codigo deberías utilizar AddObjects, quedaría así:
Y si quieres recuperar el codigo del item seleccionado:
Saluditos |
gracias por la respuesta, muestro lo que estoy haciendo y, por favor, corrijanme si está mal, luego del codigo haré la pregunta del millon
_objAux es un objeto creado a partir de una clase mia en _objAux.P_CodUsr y _objAux.P_NomApel, guardo el código que me interesa recuperar y la descripción del item, luego agrego este objeto al combo y hasta ahí todo bien, se carga y se muestra sin problemas, lo que no comprendo es como recuperar P_CodUsr del objeto que se encuentra alocado en el item del combo ¿me comprenden la pregunta?, espero que si y que me puedan ayudar |
Hola de nuevo, si solo es el codigo que quieres guardar, solo asignale eso y no el objeto pero también se puede, si solo guardas el codigo como te lo pongo en el codigo de abajo, recuperas de la forma que te dije.
En caso de que guardes el objeto, entonces haces el Cast a tu objeto y accedes a CodUsr. Saluditos |
Gracias caro, ya lo tengo, realmente para lo que necesito que simplemente es transferir el id a un objeto luego de haber seleccionado un item, no necesito gastar memoria grabando el objeto en si.
aprovecho el hilo para preguntarte lo siguiente, ¿como hago para que el combobox me muestre el item asociado al id en cuestión cuando lleno la pantalla con los datos que provienen de mi base de datos?. En dicha base, lo que guardaré será el id, no la descripción y por ello, al realizar un ABM, cuando ponga los datos en pantalla para una modificación, tendré que mostrar el item asociado a su id que corresponda. Saludos. |
El mismo
Si lo que quieres es usar un campo codigo para referenciar y visualizar un Nombre, pues solo usa un objeto DBLockupComboBox y asignas las propiedades ListSource al datasource que tengas para cargar, ListField el campo que vas a mostrar (Nombre) y KeyField el campo codigo.
Luego haces referencia usando la propiedad KeyValue, ya sea para asignar la posición como para obtenerla y no te la compliques tanto. Saludos! |
| La franja horaria es GMT +2. Ahora son las 16:08:53. |
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