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
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.
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
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!
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!
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ó