solo lectura columna ML

Hola. Tengo la siguiente consulta

Estoy trabajando con un ML, donde tengo 3 columnas y 3 eventos a nivel de fila (en la imagen esta la vista del formulario).

Las columnas “estado” y “fecha_cambio” deben ser de solo lectura en modificación. (Ya intente con marcar la opción que proporciona toba, pero si quiero agregar una nueva fila necesito agregar el estado, cosa que no me permite)

Al presionar “cambiar estado”, me tiene que habilitar las dos columnas solo para esa fila para poder editarlas.

Lo que hice es extender el formulario y crear el evento evt__cambiar_estado. El tema es que no se como obtengo id_fila, para decirle cual es la fila que quiero modificar

		
{$this->objeto_js}.evt__cambiar_estado = function()
		{
			alert('Modo solo_lectura Desactivado');
			this.ef('fecha_cambio').ir_a_fila(id_fila).set_solo_lectura(false); // ¿como obtengo id_fila?
			return false;
		}

La otra que hice es crear el evento en el ci, pero ya no puedo usar ir_a_fila. Y me activan todas las filas, no solo la que necesito


function evt__form_ml_ubicacion__cambiar_estado($seleccion)
	{
		$cache_ml_ubicacion = $this->get_cache('form_ml_ubicacion');

		$cache_ml_ubicacion->set_cursor_cache($seleccion);

		if ($cache_ml_ubicacion->hay_cursor_cache()) {
			$this->dep('form_ml_ubicacion')->ef('fecha_cambio')->set_solo_lectura(false)[$seleccion];
		}
	}

Espero que se entienda. Ya busque en el foro, encontré para todas las filas y trate de adaptarlo a mi caso.


Captura de pantalla de 2017-09-26 23:21:44.png

Captura de pantalla de 2017-09-26 23:21:44.png

Hola Mariano,

eso es porque el estado de modificacion/alta lo determina el formulario, no la fila. No creo que te sirva para lo que estas intentando hacer.

Al presionar "cambiar estado", me tiene que habilitar las dos columnas solo para esa fila para poder editarlas.

Lo que hice es extender el formulario y crear el evento evt__cambiar_estado. El tema es que no se como obtengo id_fila, para decirle cual es la fila que quiero modificar

		
{$this->objeto_js}.evt__cambiar_estado = function()
		{
			alert('Modo solo_lectura Desactivado');
			this.ef('fecha_cambio').ir_a_fila(id_fila).set_solo_lectura(false); // ¿como obtengo id_fila?
			return false;
		}

La otra que hice es crear el evento en el ci, pero ya no puedo usar ir_a_fila. Y me activan todas las filas, no solo la que necesito


Olvidate del server (al menos por ahora), esto lo tenes que resolver en JS porque es un tema de interface, en el server despues tenes que hacer las verificaciones del caso para evitar que se produzcan desmanes de datos.

La parte del evt en JS esta bien, lo que te falto es saber que los eventos en el ML reciben la fila como parametro (esta en la wiki creo), con eso creo que hubieras andado bien.

Saludos