Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-09-2006
pvizcay pvizcay is offline
Miembro
 
Registrado: jun 2006
Posts: 147
Poder: 18
pvizcay Va por buen camino
funcionalidad parecida a la del TDBLookUpComboBox..

buenas gente del foro:
recientemente he desarrollado un proyecto y me tope con una duda que tal vez algunos de uds. ya solucionaron.. todo el mundo conoce la funcionalidad del DBLookUpComboBox o ListBox, lo que estuve buscando es algo parecido pero con una lista fija (osea que los valores se cargen en el editor de propiedades en el código y no que se levanten de la base de datos) pero que a la vez funcione como un LookUp..

a ver si me explico mejor con un ejemplo (q tal vez no sea el mejor para el caso pero explica el punto supongamos que tengo varias tablas donde tengo campos del estilo Si / No con un SMALLINT (IBX + Firebird trabajo)..
ahora en la UI del programa el usuario tiene que ver un combobox con el Si / No pero internamente se tiene que guardar un 1 o 0 respectivamente.. esto se puede hacer fácilmente con el DBLookUpComboBox creando una tabla por ej

ID DESCRIPCION
0 No
1 Si

pero ahora si tengo MUCHOS de estos casos como en mi aplicación termino creando MUCHAS tablas asi que se usan solo para eso y no me parece muy limpio que digamos.. (los valores esos son 99% estáticos)

si utilizo el DBComboBox me permite cargar una lista de Strings pero no mapearlos a 1 o 0, o los valores que tenga en cuestión internamente..

también tengo la suite de DevExpress y no he encontrado ningún control que me permita hacer este 'mapping' digamos en el editor de propiedades y dejarlo fijo..

me estoy perdiendo de algo? aprecio sus comentarios y grax. por adelantado..

salu2 Pablo
Responder Con Cita
  #2  
Antiguo 18-09-2006
pvizcay pvizcay is offline
Miembro
 
Registrado: jun 2006
Posts: 147
Poder: 18
pvizcay Va por buen camino
mm este no era el lugar para este post?

hola puede ser que este no sea el lugar correcto para el post?
o por ahí no exprese correctamente la consulta?

grax
Responder Con Cita
  #3  
Antiguo 18-09-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Si usas los DevExpress prueba con el TcxDBImageComboBox, este componente te permite tener una lista fija y mapear descripciones y valores.

Checa la propiedad Property.Items, el editor tiene una lista donde puedes especificar la imagen (de un TImageList), una descripción (SI/NO), un valor asociado (1/0) y el tipo del valor (Integer, string, etc...), el valor que se guarda en el campo de la tabla es el de la columna Value.


Saludos...
Responder Con Cita
  #4  
Antiguo 19-09-2006
pvizcay pvizcay is offline
Miembro
 
Registrado: jun 2006
Posts: 147
Poder: 18
pvizcay Va por buen camino
grax
y nadie una idea con los componentes de Delphi x defecto (incluso enterprise)??
Responder Con Cita
  #5  
Antiguo 19-09-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
En determinado momento podrías usar un TComboBox normal y en el evento BeforePost de la tabla en cuestión agregar el valor de ItemIndex del TComboBox en el campo deseado. Para esto, la propiedad Style debes ponerla en csDropDownList:

Código Delphi [-]

// La propiedad Items del ComboBox tendría:
// Si <--- ItemIndex = 0
// No <--- ItemIndex = 1

procedure TForm1.Tabla1BeforePost(DataSet: TDataSet);
begin
  DataSet.FieldByName('Campo').AsInteger := ComboBox1.ItemIndex
end;

Otra opción sería desde el evento OnChange del TComboBox::

Código Delphi [-]
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  Tabla1.FieldByName('Campo').AsInteger := ComboBox1.ItemIndex
end;

Saludos...
Responder Con Cita
  #6  
Antiguo 19-09-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por pvizcay
pero ahora si tengo MUCHOS de estos casos como en mi aplicación termino creando MUCHAS tablas asi que se usan solo para eso y no me parece muy limpio que digamos.. (los valores esos son 99% estáticos)
Esto no lo entiendo. ¿Por qué no usas la misma tabla para alimentar a todos los DBLookupComboBox que requieras?

// Saludos
Responder Con Cita
  #7  
Antiguo 19-09-2006
pvizcay pvizcay is offline
Miembro
 
Registrado: jun 2006
Posts: 147
Poder: 18
pvizcay Va por buen camino
porque son tablas distintas

Si/No
Credito/Debito
Debe/Haber
Fectura/Nota Deb./Nota Cred/Ticket .. .. .. y todo asi
Responder Con Cita
  #8  
Antiguo 20-09-2006
estenoesta estenoesta is offline
Registrado
 
Registrado: sep 2003
Ubicación: San Juan del Río
Posts: 2
Poder: 0
estenoesta Va por buen camino
usa un combobox normal con su propiedad style=dropdawnlist...
y usas el itemindex para determinar cual es el que selecciono

si no me equivoco el itemidex tiene el valor de -1 si no has seleccionado nada
0 para el primer elemento
1 para el segundo
y asi sucesivamente

...

espero te sirva...

Última edición por estenoesta fecha: 20-09-2006 a las 22:23:18.
Responder Con Cita
  #9  
Antiguo 20-09-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Este... eh... ejem... http://www.clubdelphi.com/foros/show...93&postcount=5
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Base de datos parecida a access? Torreblanca Conexión con bases de datos 5 02-11-2006 20:23:50
Funcionalidad del TeamSourse jmedina Varios 3 23-02-2005 18:21:11
Mas funcionalidad con Inno Setup alt126 Varios 3 20-12-2004 12:58:03
Crear aplicacion parecida a DataBase desktop aram2r Varios 3 18-05-2004 18:14:06
TBATCHMOVE con ADO o alguna solucion parecida Rigg SQL 0 14-04-2004 16:49:40


La franja horaria es GMT +2. Ahora son las 07:37:04.


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
Copyright 1996-2007 Club Delphi