Ocular/Eliminar eventos en formulario ml

Buenos días, necesito hacer lo siguiente:

Tengo en una pantalla, entre otros, un formulario ml con los eventos propios del ml (agregar y quitar líneas (se muestra a nivel fila)) y dos eventos más (modificacion y recalcular), el primero es implícito y NO se muestra en botonera NI a nivel filas (evento modificación típico de un ml) y el segundo se muestra a nivel fila. Dejo una imagen para que se comprenda un poco mejor la problemática.

Lo que necesito hacer es eliminar los eventos “quitar” y “recalcular” en ciertas filas (las filas a eliminar se determinan en base al concepto elegido en el ml).
La eliminación de los evento lo hago desde JS, basándome en este hilo

Boton con Imagen a nivel de fila en un ML - Toba - Desarrollo - Foro Comunidad SIU
.

Lo que no me queda claro es qué subíndice se le asigna a cada evento según el número de fila del ml.

Espero haber sido claro, cualquier ayuda es bienvenida.

Saludos.


alta conciliacion bancaria.png

alta conciliacion bancaria.png

Hola Alejandro,

los ids si bien tienen un patron secuencial a partir de un nro dado, muchas veces contienen referencias a claves internas de un DT por ejemplo, con lo cual no necesariamente van a seguir la misma secuencia siempre.

Lo que podes hacer, es ir ciclando por las filas del ML… obtener el dato para la fila y luego en base a eso, mediante el metodo “desactivar_boton_fila” y “ocultar_boton_fila” podes llegar a tu objetivo, sin pasar por los vaivenes del armado del nro de fila.

Saludos

Hola Richard, gracias por responder.

Estoy probando con los métodos “desactivar_boton_fila” y “ocultar_boton_fila”, pero no logro saber qué nombre le asigna a el evento borrar del ml, probé con ‘eliminar’, ‘boton_eliminar’ y ‘quitar’ pero en todos me da error JS. ¿Con qué nombre de evento debería referenciarlo?

Gracias.
Alejandro.

Otra aclaración, el mecanismo para agregar/quitar líneas se hace a través de un evento JS.

Saludos.

Hola Alejandro,

tenes razon, dichos botones se crean en JS y no siguen el mismo patron de nombres que los eventos comunes, si no necesitas utilizar dichas funciones para otro evento, lo que podes hacer es lo siguiente, en la extension del formulario envias algo asi para redefinir el comportamiento:


 this.ocultar_boton_fila = function(fila, evento) {
            var boton = document.getElementById('js_' + this._input_submit +'_' +evento + fila);
            boton.style.display = 'none';
        };
        
        this.mostrar_boton_fila = function(fila, evento) {
            var boton = document.getElementById('js_' + this._input_submit +'_' +evento + fila);
            boton.style.display = '';
        };

De esa manera armas los ids para esos botones y usas la “API” particular para ese formulario.

Saludos