![]() |
Trabajando con DBComboBox
Holaaaa...
Tengo una duda quizás usted pueda ayudarme. Les explico ... Trabajo con delphi6 y tengo una base de datos en Acces 2000 conectándome con ADO. Tengo asociado a un campo (tipo String y 1 carácter de tamaño) de la tabla un DBComboBox, supongamos que con los los items (1 - Técnico) (2 - Estudiante) (3 - Obrero) pero lo que me propongo es lo siguiente ... Quisiera que al desplazarme por los registro de esa tabla a través de un DBNavigator lo que me apareciera en el DBComboBox no fuese solo el primer carácter (es decir el carácter guardado en la tabla) sino que el texto del items ... por ejemplo : si lo que tengo guardado es un 1, quisiera que me apareciera en el DBComboBox ( 1 - Técnico ) Es que me exigen obligatoriamente que ese campo contenga un solo caracter de tamaño. En espera de su ayuda un amigo ... Gracias.. |
Una opción podría ser usar el evento OnGetText del campo que te permite alterar el valor que se muestra sin alterar el campo original.
// Saludos |
Mejor un TDBLookupComboBox
Pues hacerlo, sin escribir código, de esta manera:
Saludos. |
Desde luego la opción de Tino es la ideal pero bueno, pensé que si no te dejaban modificar un campo chiquitito mucho menos te permitirían agregar toda una tabla.
:D // Saludos |
Acerca del OnGetText
SI me pudieras explicar mejor como hacerlo ... (OnGetText)
Ese procedimiento consta de dos variables una es DisplayText: Boolean, y la otra Text: String, pero no se como jugar con ellas ... Muchas grasias Tino por tu respuesta pero Roman tiene razón En espera de sus respuesta un servidor .. grasias |
Holas,
Este es un pequeño ejemplo, en lo personal trabajo con query's pero debe ser lo mismo.
Espero te sirva, your Friend :cool: StartKill Lima-Perú |
Ahora si que se puso feo esto
Lo siento amigo pero a desir verdad ahora entiendo menos por favor AYUDENMEEEEEEEEE ... :o
Espero por su respuesta .... grasias |
Hola.
No hace falta gritar tan alto. Basta presionar F1 dentro del IDE. :mad: Cita:
|
JFdez:
Respecto de tu mensaje privado acerca del uso del evento OnGetText te comento que prefiero tratar los temas relacionados con los foros en los mismos foros a fin de que todos se beneficien de las preguntas y respuestas. He releido el presente hilo y creo que la forma más elegante de resolver el problema es como atinadamente indicaba Tino :) . Sin embargo, al parecer no puedes agregar tablas. Pero puedes entonces usar una tabla en memoria con un ClientDataSet. El uso es muy sencillo. Durante el diseño abres el editor de definiciones de campos (propiedad FieldDefs del ClientDataSet) y añades dos, una para el campo código y otra para el campo descripción). Una vez hecho esto abres el menú contextual de la componente ClientDataSet y escoges la opción "Create DataSet". Ahora simplemente tienes que llenar los registros, por ejemplo en el evento OnCreate del formulario o DataModule donde coloques la componente. Agregas registros igual que con otros DataSets, por ejemplo:
Ya con esto, utilizas la técnica que te indicó Tino. Creo que esta es una mejor opción que la de manipular el evento OnGetText ya que tu sistema estará diseñado como si las tablas estuvieran bien diseñadas (no lo están porque justamente falta la tabla con las descripciones) y estará preparado para el momento en que se te permita agregar físicamente la tabla requerida. // Saludos |
La franja horaria es GMT +2. Ahora son las 10:05:09. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi