# Mostrar formulario dinamico dentro de otro

**URL:** <https://foros.velneo.com/t/mostrar-formulario-dinamico-dentro-de-otro/7697>\
**Category:** Velneo\
**Created:** [6 Enero, 2015 20:42 UTC](https://foros.velneo.com/t/mostrar-formulario-dinamico-dentro-de-otro/7697 "2015-01-06T20:42:33Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![alberto\_nudman](https://avatars.discourse-cdn.com/v4/letter/a/e68b1a/32.png) [@alberto\_nudman](https://foros.velneo.com/u/alberto_nudman)\
**Post date:** [6 Enero, 2015 20:42 UTC](https://foros.velneo.com/t/mostrar-formulario-dinamico-dentro-de-otro/7697/1 "2015-01-06T20:42:33Z")

</div>

Estimados,

Tengo una lista de actividades por realizar, y cada actividad tiene datos que deben ser ingresados en un formulario propio.  
Cada form tiene como origen su propia tabla.

Es decir:  
Actividad1 - Form1 con origen Tabla1  
Actividad2 - Form2 con origen Tabla 2

Lo que quiero hacer es mostrar, de alguna forma, una lista de actividades y que cuando el usuario seleccione una de estas, se muestre a la derecha, el form correspondiente y el usuario pueda ingresar los datos pertinentes. Pensé en hacer esto con vistas de datos, pero como la tabla de origen no es la misma, el método clásico no funciona.

Si lo que estoy pidiendo es una locura, me dicen. Pero las ideas serán enormemente bienvenidas.

Gracias de antemano para todos,

---

<div class="post-metadata">

**Author:** ![tic-software](https://avatars.discourse-cdn.com/v4/letter/t/c4cdca/32.png) [@tic-software](https://foros.velneo.com/u/tic-software)\
**Post date:** [7 Enero, 2015 08:27 UTC](https://foros.velneo.com/t/mostrar-formulario-dinamico-dentro-de-otro/7697/2 "2015-01-07T08:27:27Z")

</div>

Puedes poner 2 vistas de datos, cada una de una tabla con condición de visibilidad.

---

<div class="post-metadata">

**Author:** ![eic](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/eic/32/5064_2.png) [@eic](https://foros.velneo.com/u/eic)\
**Post date:** [7 Enero, 2015 08:41 UTC](https://foros.velneo.com/t/mostrar-formulario-dinamico-dentro-de-otro/7697/3 "2015-01-07T08:41:56Z")

</div>

Hola.

Dependiendo del número de actividades y los campos a rellenar, te podría interesar utilizar controles asociados a variables locales y, mediante manejadores de eventos, escribir en el registro de la tabla correspondiente. Eso te permitiría, por ejemplo, usar una pila de formularios, cada formulario con variables locales, mostrando el formulario adecuado según la elección de actividad y luego rellenar los registros mediante código.

---

<div class="post-metadata">

**Author:** ![alberto\_nudman](https://avatars.discourse-cdn.com/v4/letter/a/e68b1a/32.png) [@alberto\_nudman](https://foros.velneo.com/u/alberto_nudman)\
**Post date:** [8 Enero, 2015 12:46 UTC](https://foros.velneo.com/t/mostrar-formulario-dinamico-dentro-de-otro/7697/4 "2015-01-08T12:46:38Z")

</div>

Estimados Info y EIC,

Muchas gracias por las sugerencias; ambas son muy buenas ideas y funcionan bien; el punto es que son muchas actividades (35 aproximadamente), y dicho formulario será el más utilizado, por lo cual necesito que funcione rápido.

¿Alguien ha hecho algo similar?

Saludos y gracias nuevamente,

---

<div class="post-metadata">

**Author:** ![tic-software](https://avatars.discourse-cdn.com/v4/letter/t/c4cdca/32.png) [@tic-software](https://foros.velneo.com/u/tic-software)\
**Post date:** [9 Enero, 2015 10:17 UTC](https://foros.velneo.com/t/mostrar-formulario-dinamico-dentro-de-otro/7697/5 "2015-01-09T10:17:17Z")

</div>

La forma que te puse era por si sólo habían 2 formularios modelo, si tienes mucho es muy ineficiente la técnica.

Yo creo que el caso que expones es lo mismo que ésto:

[http://jarboleya.com/2014/12/08/organiza-los-subformularios-con-un-listbox/](http://jarboleya.com/2014/12/08/organiza-los-subformularios-con-un-listbox/)

Puedes cambiar el formulario mostrado por js, en este caso, la primera vista de datos es un listbox, pero podría ser una rejilla o lo que sea, el tema es que al selecionar una actividad de muestre el formulario adecuado.

---

<div class="post-metadata">

**Author:** ![alberto\_nudman](https://avatars.discourse-cdn.com/v4/letter/a/e68b1a/32.png) [@alberto\_nudman](https://foros.velneo.com/u/alberto_nudman)\
**Post date:** [9 Enero, 2015 16:51 UTC](https://foros.velneo.com/t/mostrar-formulario-dinamico-dentro-de-otro/7697/6 "2015-01-09T16:51:58Z")

</div>

Estimado Info,

Me parece que esa es la mejor alternativa. Muy agradecido.

Saludos,

---

<div class="post-metadata">

**Author:** ![alberto\_nudman](https://avatars.discourse-cdn.com/v4/letter/a/e68b1a/32.png) [@alberto\_nudman](https://foros.velneo.com/u/alberto_nudman)\
**Post date:** [14 Enero, 2015 20:53 UTC](https://foros.velneo.com/t/mostrar-formulario-dinamico-dentro-de-otro/7697/7 "2015-01-14T20:53:35Z")

</div>

Estimados,

Finalmente logré mi objetivo. Creé un form con un separador de formularios, sin tabla de origen, y sin datos.  
Luego, apliqué el script que copio abajo, y voila… resuelto en forma simple y elegante

--------------- INICIO DEL SCRIPT -------------------  
// Agrega un TAB al separador

// Leo las variables desde el form (deben estar declaradas previamente)

var nombreFormulario = theRoot.varToString (“FRM\_NOMBRE\_FORM\_CONTROLADOR”);  
var tituloTab = theRoot.varToString (“FRM\_NOMBRE\_TAB”);

// Obtengo el formulario que estoy mostrando  
var formularioPrincipal = theRoot.dataView();

//Obtenemos el separador de formularios. SEP\_WF\_FICHA\_GEN es el identificador…  
// …que tiene el control sepàrador dentro del formulario principal

var controlSeparador = formularioPrincipal.control(“SEP\_WF\_FICHA\_GEN”);

//Añadimos un subformulario al separador  
controlSeparador.addForm(nombreFormulario,tituloTab);

// Actualizo  
theRoot.dataView().updateControls();
