Ejemplos Javascript (Combobox y separador de formularios))


([N4] fgomes) #1

He añadido a mi blog un vin con ejemplos de alimentar dinamicamente un combobox, y de añadir/remover dinamicamente un subformulario a un separador.

Espero que les sea de utilidad.

http://filipegomes.eu/ejemplos-javascript-en-v7-combobox-y-separador-de-formularios/

Un abrazo,


([N3] blavan) #2

Ya no tengo palabras, ya no sé como expresar mi agradecimiento

Filipe GRACIAS


([N4] amadis) #3

Muchas gracias Filipe!!!


([N4] velavisual) #4

@filipe

Gracias por la aportación


([N2] gegeo) #5

Gracias Filipe por tu ayuda.

Esto nos abre los ojos a los novatos con JavaScripts

Saludos


([N1] TODOimpacientes) #6

Gracias por la aportación @Filipe,

Lo he estado probando, me estoy peleando en quitar un formulario en concreto, pero no hay forma. Me podrías decir como se hace para remover un formulario puntual:

var sepForm = theRoot.dataView().control(‘SEP’);

var cur = sepForm.currentIndex;

sepForm.removeForm(cur);

Gracias


([N1] wikan) #7

@TODOimpacientes, con eso estarías quitando el elemento activo del separador

Quizás lo mejor es hacer un findForm, obtienes el index del que quieres y lo eliminas con removeForm


([N1] TODOimpacientes) #8

Gracias Manuel, pero no se como quedaría, me lo podrías plantear?

Muchas gracias


([N4] fgomes) #9

@TODOimpacientes

En la ayuda del developer tienes todas las propriedades explicadas y como usarlas.

Mira la imagen en adjunto.



([N1] wikan) #10

Obtienes el separador

var sep = theRoot.dataView().control(‘SEP’);

Buscas el formulario a quitar por idRef

index = sep.findForm( “aliasProyecto/ID_REF_FORM” );

Y eliminas

sep.removeForm( index );


([N1] wikan) #11

Aqui os dejo un pequeño ejemplo de como rellenar un combo mediante los datos de una tabla estática y a su vez añadir un nuevo elemento.

var project = theApp.projectInfo(“AliasProyecto”);

var tablaEstatica = project.objectInfo( VObjectInfo.TypeStaticTable, “ID_TABLA_ESTATICA”);

var combo = theRoot.dataView().control(‘CB_PER’);

 

NumElementos = tablaEstatica.subObjectCount( VObjectInfo.TypeStaticTableItem )

for (var i = 0; i < NumElementos; i ++){

subElemento = tablaEstatica.subObjectInfo( VObjectInfo.TypeStaticTableItem, i );

combo.addItem( subElemento.name(), subElemento.id() );

}

 

combo.insertItem( 0, “Todos”, “TT” );

combo.currentIndex = 0;


([N1] TODOimpacientes) #12

Gracias Manuel,

Funciona, quedaría así:

var sepForm = theRoot.dataView().control(‘SEP’);

var cur = sepForm.findForm(‘script/SEP_TAB_5’);

sepForm.removeForm(cur);

Saludos y gracias


([N1] wikan) #13

Ok, perfecto

Un placer


([N3] asesoria) #14

Muchas gracias Filipe,

Juanito


([N1] Pepeto) #15

Muchas gracias Filipe

un saludo

José Luis


([N3] blavan) #16

Hola TodoImpacientes.

Estoy practicando con el ejemplo de javascript y logro añadir otros formularios distintos al ejemplo SET_TAB.

 

Pero no logro que me borre uno determinado, es decir tu ejemplo de borrado no me funciona

var cur =sepForm.findForm(‘script/SET_TAB_1’);

alert(cur) me devuelve -1, es decir no la encuentra y no me la borra

No me da error de sintaxis

Gracias

 


([N1] TODOimpacientes) #17

@Blavan, uso exactamente las tres líneas de código que detallo, y funciona bien.
var sepForm = theRoot.dataView().control(‘SEP’);
var cur = sepForm.findForm(‘script/SEP_TAB_5′);
sepForm.removeForm(cur);
Lo volveré a probar con varios formulario y comento.
Saludos


([N3] blavan) #18

Gracias TODOimpacientes, a mí me sigue fallando.

Yo lo que trato de borrar es una pestaña que previamente incluí, a ver si los tios van por ahí.

Primero voy a incluir por defecto en el subformulario dos pestañas y por evento intentas borrarlas.

 

Nada , no lo logro que putada, añadir correcto, borrar posicionado correcto, borrar uno en concreto que le llamo SET_TAB1 , nada de nada .

Sigo con dudas, las pestañas dentro del subformulario tienen un nombre, entonces a quien hay que aludir al nombre del control o al nombre del formulario

Sigo probando

 

Gracias

 

 

 


([N3] blavan) #19

Por favor a mayoes de mis comentarios anteriores

Donde puedo encontrar ayuda, documentación sobre el proceso de marras.

findForm() ?

Yo leo en velneo dataView pero no me aclara lo que busco

Gracias


([N3] blavan) #20

Bueno ya logro añadir y quitar pestañas de un sub formulario aunque findForm no me encuentra el formulario especificado, pero como solo necesito trabajar con la úlltima pestaña lo soluciono fijando el index a un valor p.ej. 10

Lo que me sucede ahora es que si tengo la pestaña abierta visualizando una rejilla de plurales y activo el evento quitar esa pestaña me da error vclient, se cae la solución

 

Si la pestaña está cerrada todo funciona bien

Como detecto si la pestaña está abierta para que en ese caso no pueda intentar ocultarla

 

Gracias