Autor Tema: ejemplo cuadro con selección de todas las filas  (Leído 1636 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Sergio F. Vier

  • Desarrollador SIU
  • Moderador Global
  • *****
  • Mensajes: 853
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Sergio Fabian Vier
ejemplo cuadro con selección de todas las filas
« on: Octubre 29, 2012, 06:41:48 pm »
Hola,

quería compartir con uds (los pocos como yo que están divagando en Toba sin saber como hacer) una solución simple pero efectiva para disponer de un checkbox en el título de la columna eventos de un cuadro que tiene un evento para selección múltiple. El checkbox permite simplemente seleccionar todos/ninguno de los registros.

La idea es bastante simple (gracias a  Sebastián Marconi) y consiste en extender toba_ei_cuadro y en nuestra nueva clase extender el objeto js para agregar una función:

Código: [Seleccionar]
function extender_objeto_js()
{

echo "
var estado_seleccion_total = false;
function seleccion_total(evento)
{
if (estado_seleccion_total) {
{$this->objeto_js}.deseleccionar_todos(evento);
estado_seleccion_total = false;
} else {
{$this->objeto_js}.seleccionar_todos(evento);
estado_seleccion_total = true;
}
};";
}

luego, editando nuestro cuadro le agregamos como subclase de la cual hereda la que acabamos de definir y en nuestro evento de selección múltiple (a nivel fila y múltiples registros) le ponemos en el título el siguiente html:

Código: [Seleccionar]
<input type='checkbox' onclick='seleccion_total("seleccion")' />

donde reemplazamos "seleccion" con el identificador de dicho evento! esto es para que se pueda llamar a los eventos js seleccionar_todos/deseleccionar_todos.

Eso es todo, no es lo ideal colocar html en títulos pero espero les sea de utilidad como a mi y de paso le agrega algo de velocidad de uso a los cuadros ;-)
happy coding!!

smarconi

  • Visitante
Re:ejemplo cuadro con selección de todas las filas
« Respuesta #1 on: Noviembre 01, 2012, 09:37:22 am »
Gracias Sergio por compartirlo!

obelgran

  • Full Member
  • ***
  • Mensajes: 167
    • Ver Perfil
  • Institución: Universidad Nacional de Rosario
  • Nombre y apellido: Oscar Rafael Belgrano
  • Sistema: Siu-Toba
  • Teléfono laboral: (0341) 4201245
  • Utilizo algun sistéma del SIU: Sí
Re:ejemplo cuadro con selección de todas las filas
« Respuesta #2 on: Julio 30, 2018, 08:06:49 am »
Excelente solución !!!  gracias Sergio !!!
Lo estoy usando y cuando agregué más de un evento,  no funcionó bien..

Para que funcione con más de un evento, hice algunos cambios que detallo a continuación:

En la extensión del cuadro quité la variable global  "estado_seleccion_total" y uso una que paso por parámetro a la función con el valor del "check"

Código: [Seleccionar]
function extender_objeto_js()
{

echo "
function seleccion_total(evento, checked)
{
if (!checked) {
{$this->objeto_js}.deseleccionar_todos(evento);
} else {
{$this->objeto_js}.seleccionar_todos(evento);
}
};";
}

y para pasar el parámetro cambié el HTML de la etiqueta del/los evento/s :

Código: [Seleccionar]
<div align='center'>Selecciona<input type='checkbox' onclick='seleccion_total("seleccion",this.checked)' /></div>
<div align='center'>C/Agregados<input type='checkbox' onclick='seleccion_total("agregados", this.checked)' /></div>

« Última Modificación: Julio 30, 2018, 08:15:14 am por obelgran »

jorozco

  • Hero Member
  • *****
  • Mensajes: 888
    • Ver Perfil
    • Email
  • Institución: Universidad Catòlica de Manizales
  • Nombre y apellido: Jhon Jairo Orozco D.
  • Sistema: Toba
Re:ejemplo cuadro con selección de todas las filas
« Respuesta #3 on: Noviembre 23, 2022, 01:58:13 pm »
Está excelente el complemento,

Pero tenemos un problema al extender el proyecto en toba_3.3.x con el CONTEXTO DE EJECUCIÓN, NO muestra el check para tildar y destildar toda la columna,

Me pueden colaborar en este caso?
Gracias y cordial saludo
« Última Modificación: Noviembre 23, 2022, 07:57:08 pm por jorozco »