Hola Foro, espero que esta noche los reyes os traigan muchos de vuestros deseos.
Tengo un ComboBox en un formulario sin origen que gracias a vosotros funciona muy bien, pero ahora necesito que una vez el ComboBox este rellenado con los datos, se posicione en la posición X por defecto sin que el usuario seleccione ninguno de los elementos que hay en el ComboBox, pero como siempre, y por muchos esfuerzos que hago, no termino de entender el JS, y eso que según alguno de vosotros, me ha comentado que no tiene mucha dificultad, debe de ser la edad.
Lo dicho, necesito de vuestra ayuda, por si alguno de vosotros me puede indicar en JS como puedo posicionarme en la posición X de un ComboBox, sabiendo previamente el valor de X.
Como siempre, muchas gracias por la ayuda.
Saludos
Se me olvidaba, este es el código que utilizo actualmente para asignar el dato leído del ComboBox:
// Capturamos el formulario
form = theRoot.dataView();
// Accedemos al control combo box. Se resuelve con el identificador del control
combo = form.control("COMBO_BOX_PARA");
//Obtenemos la posición del ítem seleccionado en el combo
var sel = combo.currentIndex;
//Extraemos el valor del ítem seleccionado (en este caso, el ID del registro)
var codsel = combo.itemData(sel);
//Asignamos el dato leído a la variable local del formulario ITEM_SEL
theRoot.setVar("FILT_ITEM_NUM_DESTINARIO", codsel);
El código que pusiste es para obtener el elemento seleccionado.
Supongo que si lo que quieres es seleccionar uno tu mismo, lo harás en la carga del combo. Cuando sepas la posición del elemento que tienes que seleccionar.
Es decir, al final de hacer la carga del combo y conociendo su index claro.
Siguiendo tus palabras ya he situado el comando en su sitio, pero tengo otra duda.
Como se pasa el valor a traves de una variable, es decir, si pongo el siguiente código sin ser una variable, el ComboBox se situa en el elemento que deseo.
combo.currentIndex = 3;
Pero si pongo la siguiente linea con una variable, no se situa en ningún elemento.
combo.currentIndex = ("ID_REG_TEMP");
¿Como se pasa el valor de una variable numérica a combo.currentIndex?
Yo lo he conseguido hacer, lo único que me falta es saber como puedo pasar un valor de una variable numérica a combo.currentIndex, ya que mis conocimientos en JS son muy pobres.
Así, si que funciona: combo.currentIndex = 3;
Así, no funciona: combo.currentIndex = ("ID_REG_TEMP");
ID_REG_TEMP = Contiene el ID de la tabla de los Usuarios que me interesa situar en la tabla estática, ya que se el valor de antemano.
Ya conseguí que el comboBox se rellenase con los usuarios de la Tabla, y que el combobox se situara en el ID que yo previamente le había pasado.
Dejo aquí el código que utilizo para lee el combobox:
// Capturamos el formulario
form = theRoot.dataView();
// Accedemos al control combo box. Se resuelve con el identificador del control
combo = form.control("COMBO_BOX_PARA");
//Obtenemos el ID del Usuario del Responder.
var IdUser = theRoot.varToInt("ID_REG_TEMP")
//Obtenemos la posición del ítem seleccionado en el combo.
var sel = combo.currentIndex = IdUser
//Extraemos el valor del ítem seleccionado (en este caso, el ID del registro)
var codsel = combo.itemData(sel);
//Asignamos el dato leído a la variable local del formulario ITEM_SEL
theRoot.setVar("FILT_ITEM_NUM_DESTINARIO", codsel);