Página 1 de 1

Comboboxes

Publicado: Mié Mar 29, 2006 7:38 pm
por fredy[1]
Hola,
Me está surgiendo un problema con los Combobox que no sé muy bien si es así­
como lo tiene que hacer o no. A ver si me puedo explicar.
- Cargo un Combo con unos determinados valores
- Le digo que lSort := .t.
- Cuando accedo a oCombo:nIndex me devuelve un valor que no es correcto.
Creo que me devuelve el í­ndice del elemento seleccionado en el aItems sin
ordenar
Creo que es algo así­. No estoy seguro porque me acabo de dar cuenta ahora
mismo.
Si no lo habéis entendido, preparo un ejemplo que lo muestre (casi no me
he entendido ni yo ).
Un saludico,
Fredy

Comboboxes

Publicado: Jue Mar 30, 2006 10:32 am
por ignacio
Fredy,
Cuando utilizas esa propiedad la propia matriz aItems que tu le indicas
TAMBIEN se ordena. Supongo que de ahí vendrán tus problemas.
Un saludo,
"Fredy" <fredy@airtel.net> escribió en el mensaje
news:[email=a20b86f255be8c8217f81c37bf0@news.xailer.com...]a20b86f255be8c8217f81c37bf0@news.xailer.com...[/email]
> Hola,
>
> Me está surgiendo un problema con los Combobox que no sé muy bien si es
> así como lo tiene que hacer o no. A ver si me puedo explicar.
>
> - Cargo un Combo con unos determinados valores
> - Le digo que lSort := .t.
>
> - Cuando accedo a oCombo:nIndex me devuelve un valor que no es correcto.
> Creo que me devuelve el índice del elemento seleccionado en el aItems sin
> ordenar
>
> Creo que es algo así. No estoy seguro porque me acabo de dar cuenta ahora
> mismo.
>
> Si no lo habéis entendido, preparo un ejemplo que lo muestre (casi no me
> he entendido ni yo ).
>
> Un saludico,
> Fredy
>
>

Comboboxes

Publicado: Jue Mar 30, 2006 11:27 am
por Fredy
Hola Ignacio,
Lo he apañado poniendo después de cargar los elementos del combo:
::oCombo:aItems := aSort( ::oCombo:aItems)
Creo que es porque lSort ordena los elementos visualizados pero no el array
de Items, y cuando accedemos a nIndex nos devuelve la posición del elemento
visualizado, en cuyo caso no corresponde con la misma posición en aItems.
Un saludico,
Fredy

Comboboxes

Publicado: Jue Mar 30, 2006 12:45 pm
por ignacio
Fredy,
xHarbour y Windows no ordenan exactamente igual, a veces. No obstante acabo
de hacer un ejemplo que acompaño a este Email y parece que funciona
perfectamente.
Un saludo
"Fredy" <fredy@navegandoconxailer.com> escribió en el mensaje
news:[email=a20b86f256468c822040ba0309d@news.xailer.com...]a20b86f256468c822040ba0309d@news.xailer.com...[/email]
> Hola Ignacio,
>
> Lo he apañado poniendo después de cargar los elementos del combo:
>
> ::oCombo:aItems := aSort( ::oCombo:aItems)
>
> Creo que es porque lSort ordena los elementos visualizados pero no el
> array
> de Items, y cuando accedemos a nIndex nos devuelve la posición del
> elemento
> visualizado, en cuyo caso no corresponde con la misma posición en aItems.
>
> Un saludico,
> Fredy
>
>


Attached files Prueba1.zip (1.7 KB)Â

Comboboxes

Publicado: Jue Mar 30, 2006 2:36 pm
por Fredy
Hola Ignacio,
A mí­ el problema me lo da con los ComboBox.
Te adjunto el mismo proyecto modificado con un combobox.
Verás que ni el Api ni xHarbour aciertan con el nombre del elemento seleccionado.
Un saludico,
Fredy
--

Attached files Prueba1.zip (1.8 KB)Â

Comboboxes

Publicado: Jue Mar 30, 2006 5:51 pm
por ignacio
Fredy,
Perdoname estaba empeñado en que era con los Listboxes. Ya lo tenemos
arreglado. Gracias
No obstante tengo que comentarte que desgraciademente el evento OnChange no
funciona igual en los Listbox que en los Combobox. En el listbox se dispara
cuando el elemento ha cambiado y en el Combo antes de que cambie, pero si te
fijas en el evento veras que siempre se pasa como parametro el nuevo
elemento.
Un saludo
"Fredy" <fredy@navegandoconxailer.com> escribió en el mensaje
news:[email=a20b86f256a48c8221e6c14d373@news.xailer.com...]a20b86f256a48c8221e6c14d373@news.xailer.com...[/email]
Hola Ignacio,
A mí el problema me lo da con los ComboBox.
Te adjunto el mismo proyecto modificado con un combobox.
Verás que ni el Api ni xHarbour aciertan con el nombre del elemento
seleccionado.
Un saludico,
Fredy