Te paso el código del ci_cargos_prueba (ahora llamado ci_docentes_cf_edicion_cargos), del ci_docentes_cf_edicion, y del ci_docentes_cf_seleccion, con todo lo que falta actualmente comentariado… es decir, no hace falta ya que se evita.
La interfaz funciona sin problemas… la selección, no hay manera. El código del datos_tabla, get_listado, funciona para el cuadro, por lo que eso asumo que no es.
Y el formulario se carga en forma inicial, sin problemas también.
Tenía el formulario con un template, lo saqué… lo estoy manejando por defecto. Tenía algunos efs, desactivados, ya que solo son necesarios en algunos casos, y también los activé. Las altas funcionan, es decir, todos los datos se están considerando.
Te adjunto una foto del log y otra del mensaje de seguimiento de las notificaciones que puse en los distintos eventos.
<?php
class ci_docentes_cf_edicion_cargos extends toba_ci
{
//-----------------------------------------------------------------------------------
//---- cargos cuadro ----------------------------------------------------------------
//-----------------------------------------------------------------------------------
function conf__cargos_cuadro(toba_ei_cuadro $cuadro)
{
toba::notificacion()->agregar('cargos cuadro conf ');
$cuadro->set_datos($this->dep('docentes_cargos')->get_listado(21));
}
function evt__cargos_cuadro__seleccion($seleccion)
{
var_dump($seleccion);
$this->dep('docentes_cargos')->cargar($seleccion);
}
//-----------------------------------------------------------------------------------
//---- cargos formulario ------------------------------------------------------------
//-----------------------------------------------------------------------------------
function conf__cargos_formulario(toba_ei_formulario $form)
{
toba::notificacion()->agregar('cargos formulario conf');
if ($this->dep('docentes_cargos')->esta_cargada()) {
$datos->$this->dep('docentes_cargos')->get();
$form->set_datos($datos);
}
}
}
?>
<?php
class ci_docentes_cf_edicion extends toba_ci
{
protected $s__id_docente;
function get_docente()
{
return $this->controlador->dep('docentes');
}
function ini()
{
toba::notificacion()->agregar('evt ini');
$s__id_docente = $this->get_docente()->get_columna('id');
}
function evt__volver()
{
toba::notificacion()->agregar('evt volver');
$this->disparar_limpieza_memoria();
$this->get_docente()->resetear();
$this->controlador->set_pantalla('seleccion');
}
}
?>
<?php
class ci_docentes_cf_seleccion extends toba_ci
{
function get_editor()
{
return $this->dep('ci_docentes_cf_edicion');
}
function conf()
{
if ($this->dep('docentes')->esta_cargada()) {
$this->set_titulo('DOCENTE: '.$this->dep('docentes')->get_columna('apellido').', '.$this->dep('docentes')->get_columna('nombre'));
} else {
$this->set_titulo('Gestión de Docentes');
}
}
//-----------------------------------------------------------------------------------
//---- cuadro -----------------------------------------------------------------------
//-----------------------------------------------------------------------------------
function conf__cuadro(toba_ei_cuadro $cuadro)
{
$cuadro->set_datos($this->dep('docentes')->get_listado());
}
function evt__cuadro__seleccion($seleccion)
{
$this->dep('docentes')->cargar($seleccion);
$this->set_pantalla('edicion');
}
}
?>
La verdad, no sé por donde puede estar el problema…
Ojo, en el log, el registro que me devuelve, es el docente, ESE FUNCIONA!!! jeje… es el último código que te muestro.
El que falla, es el de cargos de ese docente, el primer código que te paso.
Acepto sugerencias de codificación que hagan que esto funcione…!!! te paso la interfaz como va quedando también en un comprimido, cosa de que veas como viene la mano. La idea es que la interfaz quede asi, ya que todo está relacionado y hay controles para hacer entre los valores de una y otra pestaña. Sin embargo, cada pestaña tiene un ABM totalmente independiente. Por eso lo manejé con datos_tabla separados y de la forma que se muestra en el arbol de componentes que te pasé antes.