public with sharing class CustomPaginationExt {
public List accounts{get;set;}
public Integer pageSize = 10;
public Integer pageNumber = 0;
private String baseQuery = 'SELECT name, industry FROM Account ORDER BY name';
....
public PageReference next(){
pageNumber++;
queryAccounts();
return null;
}
public PageReference previous(){
pageNumber--;
if (pageNumber < 0)
return null;
queryAccounts();
return null;
}
private void queryAccounts()
{
Integer offset = pageNumber * pageSize;
String query = baseQuery + ' LIMIT '+pageSize +' OFFSET '+ offset;
try{
accounts = Database.query(query);
}
catch(Exception e){
ApexPages.addMessages(e);
}
}