Hola, estoy trabajando con Toba 1.5.10 y quiero hacer un cuadro que permita una seleccion multiple pero tiene muchas filas y tengo que paginarlo. La seleccion se pierde cuando se avanza en el listado, como puedo hacer para mantenerla? El evento “seleccion” cuando se ejecuta?
los elementos seleccionados te llegan al servidor al dispararse el evento multiple. Osea, en PHP podes ir guardando todos los elementos seleccionados por pagina.
Para poder visualizar los seleccionados cuando volves por las paginas, lo que deberias hacer es utilizar un metodo de configuracion del evento.
function conf_evt__elegime_multiple($fila, $evento) {
}
Y luego alli dentro utilizar $evento->set_check_activo(true/false) dependiendo de si el id en cuestion fue seleccionado o no.
La otra forma, es sacando una funcion en JS que utilice el metodo seleccionar del cuadro para volver a seleccionar las filas, las cuales podes sacar en un arreglo.
una de las restricciones que tiene el tema de eventos multiples es que justamente no se pueda llamar ‘seleccion’ (es por un tema de compatibilidad hacia atras).
Mas alla de eso no hay restricciones, fijate que en el ejemplo de toba_referencia Seleccion y Ordenamiento Multiple hay 2 eventos multiples y uno justamente se configura en linea.
Pero la variable $this->s__cargos_renov solo me la actualiza con los valores si el return false; no esta comentado, pero si no lo comento no me cambia de pagina porque interrumpe esa accion. Sigo trabado con lo mismo.
efectivamente los eventos no se disparan con el cambio de pagina… ni los multiples, ni ningun otro, el cambio de pagina es solo eso… el servidor no espera nada mas alla del nro al cual cambiar cuando se trata de un cambio de pagina. Disculpa, pense que se trataba de un evento comun… pero veo que se esta tomando como un caso especial en el codigo.
Para cambiar este comportamiento, deberias hacerte una subclase del toba_ei_cuadro y redefinir el comportamiento en el metodo disparar_eventos.
De dicha forma podrias hacer que ademas de procesar el cambio de pagina se evaluen los eventos multiples.
Richard, pude hacer lo que me dijiste! Te cuento como quedo:
Extendí el cuadro y volví a definir el método [shadow=red,left]disparar_eventos()[/shadow] para que cuando se cambia la página dispare también el de seleccion múltiple.
En el php del ci:
Defino 2 variables de sesión
protected $s__valores = array();
protected $s__pagina; #numero de la pagina actual del cuadro