Necesito recorrer todas las filas en un GridView y encontrar todas las casillas de verificación en la fila. El GridView tiene aproximadamente 16 páginas.

Actualmente estoy usando este script:

        function SelectAllCheckboxes(value) {
            $('#' + '<%=dgForms.ClientID%> tr' ).each(function () {
            $(this).find("td input[id*='chkCommon']:checkbox").prop('checked', value);
        });

Esto recorre solo las filas de la página actual. Es decir, si estoy en la página 5, solo se seleccionarán las casillas de verificación en esa página.

¿Cómo obtengo todas las filas de las 16 páginas? Creo que necesito obtenerlo del DOM pero no estoy seguro de cómo.

1
capiono 13 may. 2016 a las 14:49

3 respuestas

La mejor respuesta

Solo la página actual está en el DOM. La paginación funciona mediante el uso de AJAX (actualizaciones parciales de la página) para descargar una página a la vez en el navegador. Deberá pasar por las páginas mediante programación.

1
Clint B 13 may. 2016 a las 12:05

Lo que puede hacer aquí es recrear la fuente de datos. Filtre todos los que no están seleccionados (lo que debería ser fácil). A continuación, vincule la nueva cuadrícula que contiene solo filas marcadas y muestre la misma.

No es una solución muy encantadora, pero debería satisfacer sus necesidades.

0
TheBeginner 13 may. 2016 a las 12:14

El Gridview es un control ASP.Net. Cuando hace clic sobre la paginación, la vista de cuadrícula inicia una devolución de datos para obtener datos. Jquery es un marco para javascript. Javascript es un lenguaje que funciona en el navegador del cliente. Si desea seleccionar todos los controles de casilla de verificación, estos controles deben existir en el navegador.

En resumen, el problema no es el código jquery sino la técnica utilizada.

2
Anibal Díaz 13 may. 2016 a las 12:09