In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Combo Box

Foro público de Xailer en español
Responder
Andres Hocevar
Mensajes: 141
Registrado: Mar Sep 18, 2007 3:30 pm

Combo Box

Mensaje por Andres Hocevar »

Saludos
Como hago para crear un combo que muestre la descripcion pero
internamente use el codigo?
Ejemplo:
codigo banco
+-------+-------------------
| UNI | BANCO UNION
+-------+------------------
| CON | BANCO CONSOLIDADO
+-------+------------------
| CAR | BANCO CARIBE
+-------+------------------
Lo hice de la siguiente manera:
METHOD DBComboBox1Create( oSender ) CLASS TForm1
LOCAL mC, mROW
mC := ::oMySQLDataSource1:Query( "select codigo, banco from tban")
do while !mC:EoF()
mROW := mC:GetRecord()
oSender:addItems(mROW:codigo)
AADD(oSender:aItemsBound , mROW:banco)
mC:Skip()
enddo
RETURN Nil
PERO NO FUNCIONA SOLO ME TRAE los codigos no los bancos???
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

Combo Box

Mensaje por Bingen Ugaldebere »

Hola Andrés creo que esto es lo que quieres:
METHOD DBComboBox1Create( oSender ) CLASS TMantenFondos
oSender:aItemsBound := ::oDbfBancos:SaveToArray( {"Codigo"} )
oSender:aItems := ::oDbfBancos:SaveToArray( {"Banco"} )
oSender:ndataType :=dtBOUND
RETURN Nil
Esto muestra los nombres pero retorna los códigos.
Salu2.
Andres Hocevar escribió:
> Saludos
>
> Como hago para crear un combo que muestre la descripcion pero
> internamente use el codigo?
>
> Ejemplo:
>
> codigo banco
> +-------+-------------------
> | UNI | BANCO UNION
> +-------+------------------
> | CON | BANCO CONSOLIDADO
> +-------+------------------
> | CAR | BANCO CARIBE
> +-------+------------------
>
> Lo hice de la siguiente manera:
>
> METHOD DBComboBox1Create( oSender ) CLASS TForm1
> LOCAL mC, mROW
> mC := ::oMySQLDataSource1:Query( "select codigo, banco from tban")
> do while !mC:EoF()
> mROW := mC:GetRecord()
> oSender:addItems(mROW:codigo)
> AADD(oSender:aItemsBound , mROW:banco)
> mC:Skip()
> enddo
> RETURN Nil
>
> PERO NO FUNCIONA SOLO ME TRAE los codigos no los bancos???
Andres Hocevar
Mensajes: 141
Registrado: Mar Sep 18, 2007 3:30 pm

Combo Box

Mensaje por Andres Hocevar »

Gracias pero uso oMySQLDataSource1
sera que cambio oDbfBancos por oMySQLBancos?
Bingen Ugaldebere escribió:
> Hola Andrés creo que esto es lo que quieres:
>
> METHOD DBComboBox1Create( oSender ) CLASS TMantenFondos
> oSender:aItemsBound := ::oDbfBancos:SaveToArray( {"Codigo"} )
> oSender:aItems := ::oDbfBancos:SaveToArray( {"Banco"} )
> oSender:ndataType :=dtBOUND
> RETURN Nil
>
> Esto muestra los nombres pero retorna los códigos.
>
> Salu2.
>
>
> Andres Hocevar escribió:
>> Saludos
>>
>> Como hago para crear un combo que muestre la descripcion pero
>> internamente use el codigo?
>>
>> Ejemplo:
>>
>> codigo banco
>> +-------+-------------------
>> | UNI | BANCO UNION
>> +-------+------------------
>> | CON | BANCO CONSOLIDADO
>> +-------+------------------
>> | CAR | BANCO CARIBE
>> +-------+------------------
>>
>> Lo hice de la siguiente manera:
>>
>> METHOD DBComboBox1Create( oSender ) CLASS TForm1
>> LOCAL mC, mROW
>> mC := ::oMySQLDataSource1:Query( "select codigo, banco from tban")
>> do while !mC:EoF()
>> mROW := mC:GetRecord()
>> oSender:addItems(mROW:codigo)
>> AADD(oSender:aItemsBound , mROW:banco)
>> mC:Skip()
>> enddo
>> RETURN Nil
>>
>> PERO NO FUNCIONA SOLO ME TRAE los codigos no los bancos???
Andres Hocevar
Mensajes: 141
Registrado: Mar Sep 18, 2007 3:30 pm

Combo Box

Mensaje por Andres Hocevar »

Gracias Bingen Ugaldebere
me faltaba esta linea
oSender:ndataType :=dtBOUND
asi funciona pero observo lo siguiente, cuando edito el registro si
aparecen los nombres de los bancos pero al guardar solo despliegua el
codigo, no deberia tambien mostrar el nombre y ocultar el codigo?
> Hola Andrés creo que esto es lo que quieres:
>
> METHOD DBComboBox1Create( oSender ) CLASS TMantenFondos
> oSender:aItemsBound := ::oDbfBancos:SaveToArray( {"Codigo"} )
> oSender:aItems := ::oDbfBancos:SaveToArray( {"Banco"} )
> oSender:ndataType :=dtBOUND
> RETURN Nil
>
> Esto muestra los nombres pero retorna los códigos.
>
> Salu2.
>
>
> Andres Hocevar escribió:
>> Saludos
>>
>> Como hago para crear un combo que muestre la descripcion pero
>> internamente use el codigo?
>>
>> Ejemplo:
>>
>> codigo banco
>> +-------+-------------------
>> | UNI | BANCO UNION
>> +-------+------------------
>> | CON | BANCO CONSOLIDADO
>> +-------+------------------
>> | CAR | BANCO CARIBE
>> +-------+------------------
>>
>> Lo hice de la siguiente manera:
>>
>> METHOD DBComboBox1Create( oSender ) CLASS TForm1
>> LOCAL mC, mROW
>> mC := ::oMySQLDataSource1:Query( "select codigo, banco from tban")
>> do while !mC:EoF()
>> mROW := mC:GetRecord()
>> oSender:addItems(mROW:codigo)
>> AADD(oSender:aItemsBound , mROW:banco)
>> mC:Skip()
>> enddo
>> RETURN Nil
>>
>> PERO NO FUNCIONA SOLO ME TRAE los codigos no los bancos???
Responder