[SOLUCIONADO]consulta sobre form_ml

Hola como están?

vengo con una duda sobre los multilineas, estoy con un sistema en donde el usuario selecciona un curso de un cuadro, y para ese curso se cargan todos los inscriptos en un formulario_ml, el problema es que necesito ver en ese multilinea las columnas con los resultados de las evaluaciones en ese curso, y no todos los cursos tienen la misma cantidad de evaluaciones.

la pregunta es: puedo agregar columnas al momento de configurar un form_ml?? o alguna otra forma de hacer algo parecido

gracias, saludos

Hola Sebastian,

la forma que existe para agregar columnas a un formulario, es via manipulacion de los metadatos… te conviene hacer una subclase del form en cuestion y agregar a la variable _info_formulario_ef la estructura con los datos de la columna que queres sumar.

Luego desde el Ci podrias llamar a ese metodo y agregar las columnas que sean necesarias de acuerdo al grupo de datos que tengas.

Saludos

Sebastian,

exactamente es el mismo caso, que tras mucho trabajo y ayuda de Richard se pudo solucionar, te adjunto el ci_edicion, donde dependiendo de la asignatura se crea un ML con N logros, inicialmente por el editor se crea el ml con el cámpo código y nombre del estudiante.
Espero te sirva

Buen día


ci_edicion.txt (30.7 KB)

Hola!

sigo intentando solucionar el problema, primero probé lo que me comento richard, hice una subclase para el formulario_ml y ahí un método agregar_columna que agrega la estructura a la variable _info_formulario_ef,
a este método lo estaba llamando desde el conf_form_ml del ci pero no me mostraba ningún cambio en pantalla

después vi el mensaje de jhon y armé algo similar en el método ini__operacion utilizando toba_cargador::instancia()->get_metadatos_extendidos y toba_cargador::instancia()->set_metadatos_extendidos, el problema que tuve acá fue que la primera vez que entraba a la operación no veía los cambios, pero si salia y volvía a entrar si aparecía la nueva columna que agregué

ahora voy a seguir probando con el código que envió jhon, muchas gracias a los dos!

saludos

Hola Sebastian,

esta modificacion tenes que llevarla acabo antes de que se cargue la dependencia, ya que cuando se carga el formulario automaticamente obtiene la lista de efs que lo componen y de ahi en mas no vera ninguna modificacion hasta el otro pedido de pagina.

Algo con lo que debes tener cuidado es no hacer referencia a $this->pantalla o $this->dependencia(‘form_xx’) ya que en ese instante estas cargando la dependencia y por ende fijando la lista de efs.

Lo que subio Jhon, si bien no lo mire exhaustivamente pareciera estar correcto en cuanto al lugar donde invocar la modificacion y el agregado de las columnas.
Bien ahi por la contribucion!

Saludos

lisssto!

como dice richard estaba usando $this->dependencia(form) por eso no veia los cambios, hice todo en el ini__operacion como el código que adjuntó jhon y funcionó

gracias!! saludos