# Gestionar los subformularios con un combobox

**URL:** <https://foros.velneo.com/t/gestionar-los-subformularios-con-un-combobox/9335>\
**Category:** Velneo\
**Created:** [15 Febrero, 2017 06:24 UTC](https://foros.velneo.com/t/gestionar-los-subformularios-con-un-combobox/9335 "2017-02-15T06:24:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![velneooscarbarea](https://avatars.discourse-cdn.com/v4/letter/v/4af34b/32.png) [@velneooscarbarea](https://foros.velneo.com/u/velneooscarbarea)\
**Post date:** [15 Febrero, 2017 06:24 UTC](https://foros.velneo.com/t/gestionar-los-subformularios-con-un-combobox/9335/1 "2017-02-15T06:24:28Z")

</div>

Hola,  
Tengo un formulario principal que activa los subformularios mediante un combobox.  
Código de creación:

```auto
/**
 * Devuelve el icono de un formulario
 *
 * @param {VObjectInfo} formulario Objeto de la clase VObjectInfo del formulario
 * @return {VImage} icono Objeto de la clase VImage con el icono del formulario
 */
var iconoFormulario = function (formulario)
{
	if (formulario)
	{
		importClass("VImage");
		var icono = new VImage();
		var iconoIdRef = formulario.propertyData(6).replace("@", "/");
		icono.loadResource(iconoIdRef);
		return icono;
	};
};
 
// -----------------------------------
// Cargar formularios en listbox
// -----------------------------------
 
var controlListBox = theRoot.dataView().control("MEN_CFG");
var controlPila = theRoot.dataView().control("FRM_CFG");
 
// -------------------------------------------------------------------------
// Leer los subformularios y dar de alta los registros en el listbox
// -------------------------------------------------------------------------
 
// Limpiamos el listbox antes de cargarlo
controlListBox.clear();
 
var numFormularios = controlPila.count;
for (var numFormulario = 0; numFormulario < numFormularios; numFormulario++)
{
	var formulario = controlPila.form(numFormulario);
	var nombre = formulario.objectInfo().name();
	var icono = iconoFormulario(formulario.objectInfo());
	controlListBox.addItem(icono, nombre, numFormulario);
};
 
// Marcamos el primer elemento como seleccionado
controlListBox.currentRow = controlPila.currentIndex;

```

Código al seleccionar Combobox:

```auto
// --------------------------------
// Abrir el formulario seleccionado
// ---------------------------------
var controlListBox = theRoot.dataView().control("MEN_CFG");
var controlPila = theRoot.dataView().control("FRM_CFG");
controlPila.setCurrentIndex(controlListBox.currentIndex);
controlPila.form(controlPila.currentIndex).setFocus();

```

Lo que quiero hacer es poner unas flecha al lado del combobox, para poder desplazar al siguiente o anterior formulario de la lista del combobox, pero no lo consigo. Quiero que al clicar en las flechas me presente el formulario y que me cambie el nombre del combobox.

Como se hace?  
Muchas gracias

---

<div class="post-metadata">

**Author:** ![velneooscarbarea](https://avatars.discourse-cdn.com/v4/letter/v/4af34b/32.png) [@velneooscarbarea](https://foros.velneo.com/u/velneooscarbarea)\
**Post date:** [16 Febrero, 2017 16:38 UTC](https://foros.velneo.com/t/gestionar-los-subformularios-con-un-combobox/9335/2 "2017-02-16T16:38:02Z")

</div>

Hola a todos,  
Mis conocimientos en javascript son muy básicos y no llego  
Alguien podría echarme una mano.  
Mil gracias  
Oscar B.

---

<div class="post-metadata">

**Author:** ![overall](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/overall/32/5437_2.png) [@overall](https://foros.velneo.com/u/overall)\
**Post date:** [24 Febrero, 2017 10:24 UTC](https://foros.velneo.com/t/gestionar-los-subformularios-con-un-combobox/9335/3 "2017-02-24T10:24:53Z")

</div>

Hola,  
Prueba lo siguiente:

```auto
var controlListBox = theRoot.dataView().control("MEN_CFG");
var controlPila = theRoot.dataView().control("FRM_CFG");

controlPila.setCurrentIndex(controlListBox.currentIndex - 1);
var sel = controlListBox.currentIndex = controlListBox.currentIndex - 1;
controlPila.form(sel).setFocus();

```

Saludos
