Pagination using Apex in Salesforce
Sample Code:
Visualforce page:
<apex:page controller="Sample" >
<apex:form >
<apex:pageBlock id="details">
<apex:pageblockTable value="{!memb}" var="m">
<apex:column value="{!m.Name}"/>
<apex:column value="{!m.Age__c}"/>
</apex:pageblockTable>
<apex:pageblockButtons >
<apex:commandButton value="<<" rerender="details" action="{!beginning}" disabled="{!prev}"/>
<apex:commandButton value="<" rerender="details" action="{!previous}" disabled="{!prev}"/>
<apex:commandButton value=">" rerender="details" action="{!next}" disabled="{!nxt}"/>
<apex:commandButton value=">>" rerender="details" action="{!end}" disabled="{!nxt}"/>
</apex:pageblockButtons>
</apex:pageBlock>
</apex:form>
</apex:page>
Visualforce page:
<apex:page controller="Sample" >
<apex:form >
<apex:pageBlock id="details">
<apex:pageblockTable value="{!memb}" var="m">
<apex:column value="{!m.Name}"/>
<apex:column value="{!m.Age__c}"/>
</apex:pageblockTable>
<apex:pageblockButtons >
<apex:commandButton value="<<" rerender="details" action="{!beginning}" disabled="{!prev}"/>
<apex:commandButton value="<" rerender="details" action="{!previous}" disabled="{!prev}"/>
<apex:commandButton value=">" rerender="details" action="{!next}" disabled="{!nxt}"/>
<apex:commandButton value=">>" rerender="details" action="{!end}" disabled="{!nxt}"/>
</apex:pageblockButtons>
</apex:pageBlock>
</apex:form>
</apex:page>
Apex Class:
public class Sample
{
private integer totalRecs = 0;
private integer index = 0;
private integer blockSize = 5;
public sample()
{
totalRecs = [select count() from Member__c];
}
public List<Member__c> getMemb()
{
List<Member__c> membs = Database.Query('SELECT Name, Age__c FROM Member__c LIMIT :blockSize OFFSET :index');
System.debug('Values are ' + membs);
return membs;
}
public void beginning()
{
index = 0;
}
public void previous()
{
index = index - blockSize;
}
public void next()
{
index = index + blockSize;
}
public void end()
{
index = totalrecs - math.mod(totalRecs,blockSize);
}
public boolean getprev()
{
if(index == 0)
return true;
else
return false;
}
public boolean getnxt()
{
if((index + blockSize) > totalRecs)
return true;
else
return false;
}
}
Output:
public class Sample
{
private integer totalRecs = 0;
private integer index = 0;
private integer blockSize = 5;
public sample()
{
totalRecs = [select count() from Member__c];
}
public List<Member__c> getMemb()
{
List<Member__c> membs = Database.Query('SELECT Name, Age__c FROM Member__c LIMIT :blockSize OFFSET :index');
System.debug('Values are ' + membs);
return membs;
}
public void beginning()
{
index = 0;
}
public void previous()
{
index = index - blockSize;
}
public void next()
{
index = index + blockSize;
}
public void end()
{
index = totalrecs - math.mod(totalRecs,blockSize);
}
public boolean getprev()
{
if(index == 0)
return true;
else
return false;
}
public boolean getnxt()
{
if((index + blockSize) > totalRecs)
return true;
else
return false;
}
}
Output:
No comments:
Post a Comment