![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
TComboBox carga lo que quiere
Bueno, me pasa algo con un TComboBox que no me pasa en otras partes del programa pero en particular esta es que en una parte del programa cargo un pasajero el cual tiene un pais, al TComboBox lo cargo desde una tabla donde tengo los paises.
con: FData.QAux2.SQL.Clear; FData.QAux2.SQL.Add('Select * From tpais'); FData.QAux2.Open; // CARGO EL CAMPO DE PAIS ModificaPais.Clear; ModificaPais.Items.Add('Seleccione Pais'); //Este lo agrego para que me ocupe el 0 en el ComboBox y mantenga concordancia con la tabla FData.QAux2.First; While Not FData.QAux2.Eof Do // Realizar mientras no sea fin de archivo Begin ModificaPais.Items.Add(FData.QAux2.FieldByName('PAIS').Value); FData.QAux2.Next; End; //ModificaPais.Text := FData.QAux.FieldByName('PAIS').Value; ModificaPais.ItemIndex := PaisID; // - 1; |
#2
|
||||
|
||||
Recuerda poner los tags al código fuente, ejemplo:
![]() Gracias ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
||||
|
||||
Hola, no me queda claro el final de lo que haces en tu codigo ni el error propiamente dicho...
Aparentemente esta bien la carga del combo.. recorres el dataset y vas agregando elementos al combo(a partir del 1). Luego queres asignar al pasajero el nuevo pais utilizando la referencia del itemIndex del combo= idTablaPaises?? eso no deberia dar problemas.. cual es el error puntual? Yo haria una nueva consulta para obtener el Id del elemento y luego hacer el update del pasajero y ese nuevo pais selecccionado. (ya que se puede agregar otro elemento o cambiar el nro de ids en la base y quede diferencia entre el index y el id de la tabla, generando errores futuros...) ej: combo 0 Seleccione pais 1 Arg 2 Bol 3 Can y la tabla 1 Arg 2 Bol 4 Per (si es seguro que no habra modificaciones podria llegar a ser.. ) Saludos Nicolas Perichon |
#4
|
||||
|
||||
Hola Panasys.
A mi tampoco me queda del todo claro que estas buscando hacer... pero a ver si esto te sirve:
Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#5
|
|||
|
|||
PRIMERO PERDON POR EL POST, PASA QUE PRESIONE POR ACCIDENTE EL ENTER Y SE POSTEO EN CRUDO Y SIN COMPLETAR
Bueno, me pasa algo con un TComboBox que no me pasa en otras partes del programa pero en particular en esta parte del programa cargo un pasajero el cual tiene un pais, al TComboBox lo cargo desde una tabla donde tengo los paises. con:
Bueno eso lo hace cuando hago click en una grilla de pasajeros, si el pasajero tiene un ID de pais dentro de los primeros 50 paises funciona todo ok, ahora cuando el ID pertenece a algun pais por encima de los 100 al guardar los datos guardo tambien el ItemIndex del combo, pero me guarda cualquiera menos el que corresponde al pais. Es mas si en la grilla hago click en un pasajero que su pais tiene un index, por ejem 208 el combo me muestra el pais 230. A alguien le paso? es una cuestion de que no soporta tantos registros un combo? Problemas de memoria? o acceso a la misma? alguna idea? Gracias y abrazo. Javier |
#6
|
||||
|
||||
Hola Javier.
Acabo de probar el código que sigue (basicamente igual al anterior) con 20716 datos y devuelve correctamente el ID de cada paciente: Por lo tanto descarto cualquier problema con el TComboBox. (Ignoro la memoria que dispones). ¿ Estas seguro que el valor de la propiedad ItemIndex se corresponde con el valor del campo PaisID ? Saludos ![]()
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
|||
|
|||
Hola ecfisa !
Bien, colocando el codigo como tu dices, el mensaje me da el ID correcto de la base, pero el ItemIndex del TComboBox es distinto. Es decir, que cuando yo hago click en el pasajero en la grilla el valor del ID del pais de ese pasajero, por ej 208 que es Suiza en mi tabla, yo lo traslado a
Que en el combo el 208 es Taiwan y Suiza esta en el 204!, pero el showmessage que vos agregaste para que me muestre el Index asignado esta OK y me dice 208! Entonces el ItemIndex del combo no me sirve, no se porque no carga los paises como debe con el item correspondiente. Yo quiero que el combo me muestre el pais porque justo es una ventana de modificacion de datos. Hay otra manera de acceder a la lista del combo que no sea combo.itemindex := xxx? para ver el nombre del registro en el combo? El codigo completo:
El resultado: ![]() No conozco una forma de llamar al ItemIndex desde el ID asociado como me lo mostraste vos, sino estaria solucionado creo ![]() Gracias por las molestias !!! ![]() Javier |
#8
|
||||
|
||||
Hola, si me permites te aconsejo una forma de hacer lo que creo que necesitas de manera de olvidarte de errores futuros de diferencias de id-itemIndex...
Podrias leer la tabla de paises y guardarla en una lista (un stringListPor ejemplo, o un KeyValue 1=Argentina, 2=Jamaica etc... Ahora la referencia tuya esta en la LISTA... Posibles consultas: 1)cuando el cliente cambia el combo: al cambiar buscas en la lista el valor del ID para el texto actual, y tienes el id... 2)si quieres mostrar el pais de un determinado id, asignas al comboBox.text el pais que corresponde al id en la lista! De esta manera tienes integridad de datos mas segura(siempre y cuando se refresque la base y se realimente la lista nuevamente) Saludos Nicolas Perichon |
#9
|
||||
|
||||
Ecfisa ya te ha dado la solución... pero no te has dado cuenta.
En un item de un Tcombobox puedes guardar un objeto. En este caso ecfisa guarda el ID del país. Puedes accesder a él sabiendo cual es el índice del item que tienes seleccionado.
Te remito a la ayuda de Delphi. Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#10
|
||||
|
||||
y sino como esta planteado podria ser...
Agrego los paises con su respectivo ID
Conozco el país por el id...
Saludos Nicolas Perichon |
#11
|
||||
|
||||
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
INFO: DLL's, BPL's, carga dinámica, carga estática y Packages en Runtime | Neftali [Germán.Estévez] | OOP | 26 | 13-12-2013 19:29:55 |
TCombobox | y_a_p | Varios | 4 | 28-12-2011 03:50:55 |
Una dudilla con TComboBox... | AFilth | Varios | 2 | 01-04-2007 21:28:12 |
TComboBox | calogero | Varios | 5 | 19-01-2007 17:20:20 |
TcomboBox = tEdit | maui | Conexión con bases de datos | 2 | 25-05-2004 02:37:46 |
![]() |
|