Solución:
Hay un buen artículo sobre la paginación en Apex aquí: https://developer.salesforce.com/page/Pagination_Data_for_Force.com_Applications que enumera varias opciones.
Tiene dos opciones para la paginación dentro de las páginas de Visualforce, la paginación OFFSET y la paginación StandardSetController. Con la paginación OFFSET está limitado a 2000 registros; sin embargo, con StandardSetController puede paginar hasta 10,000. Entonces, una cosa que podría hacer sería refactorizar para usar la paginación StandardSetController.
Otra cosa que podría hacer sería agregar algún tipo de capacidad de filtrado, para que el usuario pueda acceder a los registros que necesita. Por ejemplo, si desea devolver más de 2000 registros, muestre un mensaje que diga algo como “Se muestran 2000 registros, pero podría haber más. Utilice un filtro para limitar los resultados”.
Yo buscaría usar StandardSetController
, consulte los documentos aquí. Sin embargo, esto no lo hace ilimitado, pero aumenta el límite de 2,000 a 10,000, lo que podría ayudar. En general, trato de hacer filtros en la página para permitir que el usuario final filtre el tamaño de los resultados devueltos.
Aquí hay algunas publicaciones de blog sobre el uso StandardSetController
para la paginación. Espero que ayude.
http://forceguru.blogspot.com/2011/04/pagination-in-salesforce.html
Pagination using standardsetcontroller