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.

ComboBox aItems y aItemsBound

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

ComboBox aItems y aItemsBound

Mensaje por Andres Hocevar »

Para lograr poblar los arreglos del combo box me toco hacer lo siguiente:
oSender:Reset()
mC := oSqlSource:query("SELECT codigo, nombre FROM tabla ")
Do While mC:EoF()
oSender:addItem(mC:Fieldget[2])
aadd(oSender:aItemsBound, mC:Fieldget[1])
mC:Skip()
Enddo
Este codigo FUNCIONA pero es como feo, no existe un metodo addItemBound
o existe otra forma mas elegante de hacerlo?
por cierto esto no me funciona: aadd(oSender:aItems, mC:Fieldget[2]) ??
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9459
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

ComboBox aItems y aItemsBound

Mensaje por ignacio »

Andrés,
Es un error estar llamando constantemente a AddItem ya que ralentiza el
proceso, tiene mucho más sentido asignar las matrices directametne
oCbo:aItemsBound := oSqlSource:QueryArray( "SELECT codigo FROM ..." )
oCbo:aItems := oSqlSource:QueryArray( "SELECT nombre FROM ..." )
Este código se puede optimizar facilmente realizando un único Query,
dimensionando las dos matrices en base a la matriz obtenida y haciendo una
asignación posterior usando Aeva().
Saludos,
"Andres Hocevar" <datasis@cantv.net> escribió en el mensaje
news:474723d5$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Para lograr poblar los arreglos del combo box me toco hacer lo siguiente:
>
> oSender:Reset()
> mC := oSqlSource:query("SELECT codigo, nombre FROM tabla ")
> Do While mC:EoF()
> oSender:addItem(mC:Fieldget[2])
> aadd(oSender:aItemsBound, mC:Fieldget[1])
> mC:Skip()
> Enddo
>
> Este codigo FUNCIONA pero es como feo, no existe un metodo addItemBound o
> existe otra forma mas elegante de hacerlo?
>
> por cierto esto no me funciona: aadd(oSender:aItems, mC:Fieldget[2]) ??
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder