Pagination of Wrapper Class Objects


  1.  <div>
  2.  <apex:panelGroup >
  3.  <apex:commandLink action="{!First}" reRender="pb">             
  4.  <apex:image value="{!$Resource.First}" height="20px" width="60px" title="First" />
  5.  </apex:commandLink>&nbsp;&nbsp;&nbsp;&nbsp;
  6.  <apex:commandLink action="{!Previous}" reRender="pb">             
  7.  <apex:image value="{!$Resource.Previous}" height="20px" width="40px" title="Previous" rendered="{!hasPrevious}"/>
  8.  </apex:commandLink>&nbsp;&nbsp;&nbsp;&nbsp;
  9.  <apex:outputLabel style="font-size:17px; margin-bottom:0px;" > Page &nbsp;{!pageno} &nbsp; (Page 1 - Page {!lastPageno }) </apex:outputLabel>&nbsp;&nbsp;&nbsp;&nbsp;
  10.  <apex:commandLink action="{!Next}" reRender="pb">             
  11.  <apex:image value="{!$Resource.Next}" height="20px" width="40px" title="Next" rendered="{!hasNext}"/>
  12.  </apex:commandLink>&nbsp;&nbsp;&nbsp;&nbsp;
  13.  <apex:commandLink action="{!Last}" reRender="pb">             
  14.  <apex:image value="{!$Resource.Last}" height="20px" width="60px" title="Last" />
  15.  </apex:commandLink>&nbsp;&nbsp;&nbsp;&nbsp;
  16.  </apex:panelGroup>
  17.  </div>


    Public Boolean hasPrevious {get;set;}

    Public Boolean hasNext {get;set;}
    Public Integer pageno {get;set;}
    Public Integer lastPageno {get;set;}
    
    public PageReference Last() {

        pageno = lastPageno;
        listToDisplay();
        return null;
    }
    public PageReference Next() {
        pageno++;
        listToDisplay();
        return null;
    }
    public PageReference Previous() {
        pageno--;
        listToDisplay();
        return null;
    }
    public PageReference First() {
        pageno = 1;
        listToDisplay();
        return null;
    }

        lastPageno = lstWS.size()/10; // Page size 10 rows
        if(lastPageno*10 < lstWS.size())
        lastPageno++;
        if(pageno < lastPageno )
        hasNext = true;
        else 
        hasNext = false;
        if(pageno > 1 )
        hasPrevious = true;
        else
        hasPrevious = false;
        listToDisplay();

  1. public void listToDisplay()
  2.     {
  3.         if(pageno < lastPageno )
  4.         hasNext = true;
  5.         else 
  6.         hasNext = false;
  7.         if(pageno > 1 )
  8.         hasPrevious = true;
  9.         else
  10.         hasPrevious = false;
  11.         lstWSTenSize = new List<wrapStudent>();
  12.          If(pageNo*10 < lstWS.size())
  13.          {
  14.              for (Integer i = ((pageNo*10)-10); i<pageNo*10; i++ )
  15.              {
  16.                  lstWSTenSize.add(lstWS[i]);
  17.              }
  18.          }
  19.          else If(pageNo*10 >= lstWS.size())
  20.          {
  21.              for (Integer i = ((pageNo*10)-10); i<lstWS.size(); i++ )
  22.              {
  23.                  lstWSTenSize.add(lstWS[i]);
  24.              }
  25.          
  26.          } 
  27.     }

Comments

Popular Posts