PDA

Ver la Versión Completa : [Sintaxis] Cargar un combo en linea


Breew
25 de enero de 2021, 15:47
Hola.
Me encuentro con un probema que no se como lo solventais.

Al Iniciar, cargo los combos con la posibilidades.

combo1.

INVOKE Combo-Mecanismo "ClearList"
INVOKE Combo-Mecanismo "AddString" USING "Opcion A" returning IDX-Combo MOVE IDX-Combo TO "ListIndex" OF Combo-Color-Mecanismo .
INVOKE Combo-Mecanismo "AddString" USING "Opcion B" returning IDX-Combo MOVE IDX-Combo TO "ListIndex" OF Combo-Color-Mecanismo .

combo2.
INVOKE Combo-Color-Mecanismo "ClearList"
INVOKE Combo-Color-Mecanismo "AddString" USING "mecanismo Beige" returning IDX-Combo MOVE IDX-Combo TO "ListIndex" OF Combo-Color-Mecanismo .
INVOKE Combo-Color-Mecanismo "AddString" USING "mecanismo Gris" returning IDX-Combo MOVE IDX-Combo TO "ListIndex" OF Combo-Color-Mecanismo .
INVOKE Combo-Color-Mecanismo "AddString" USING "mecanismo Negro" returning IDX-Combo MOVE IDX-Combo TO "ListIndex" OF Combo-Color-Mecanismo .
INVOKE Combo-Color-Mecanismo "AddString" USING "mecanismo Blanco" returning IDX-Combo MOVE IDX-Combo TO "ListIndex" OF Combo-Color-Mecanismo .


Pero si pongo alguna condicion en SelChange que ejecute algun aviso, me lo dispara tambien en la carga.
Es como si el AddString, antes de ponerlo en la lista lo pase por el "SelString" con lo cual dispara el aviso

IF "SelString" OF Combo-Mecanismo = "Opcion B" THEN
display "color unico Beige"
INVOKE Combo-Color-Mecanismo "ClearList"
INVOKE Combo-Color-Mecanismo "AddString" USING "mecanismo Beige" returning IDX-Combo MOVE IDX-Combo TO "ListIndex" OF Combo-Color-Mecanismo
END-IF.


No se si me he explicado bien :rofl:

Como deberia cargarlo para que no me pase eso??

Kuk
25 de enero de 2021, 19:26
@Breew, te lo hace por estas líneas:


MOVE IDX-Combo TO "ListIndex" OF Combo-Color-Mecanismo


No lo hagas al cargar ;)

Fito
26 de enero de 2021, 15:28
Hola:

Es como dice KUK. El evento SelChange se corre cuando movés el indice del combo y vos lo estas haciendo en cada linea de la carga.

Lo que podés hace para asegurarte de que el SelChange no se ejecute es tenerlo deshabilitado al acargarlo y habilitarlo al terminar de hacerlo, y en el método del SelChage preguntas if "Enabled" of combo = true y ahi metés todo el código. O por false con un go que salte al final.

Saludos.

Fito

Breew
19 de febrero de 2021, 07:51
Hola.

Ahora si que es otra cosa.
Me habeis quitado un peso de encima .

Gracias