Simple Pagination using apex in Salesforce?
Hi !,
Here i am going to give an example of simple pagination on Account object. to achieve this we need to create Visualforce page and Controller Class.
Visualforce Page:-
<apex:page controller="AccountPaginationController">
<apex:form >
<apex:pageBlock >
<apex:pageBlockSection title="Account Results - Page #{!pageNumber}" columns="1">
<apex:pageBlockTable value="{!listAccount}" var="a">
<apex:column value="{!a.Name}"/>
<apex:column value="{!a.AccountNumber}"/>
<apex:column value="{!a.Type}"/>
</apex:pageBlockTable>
<apex:panelGrid columns="4">
<apex:commandLink action="{!first}">First </apex:commandlink>
<apex:commandLink action="{!previous}" rendered="{!hasPrevious}">Previous |</apex:commandlink>
<apex:commandLink action="{!next}" rendered="{!hasNext}">Next |</apex:commandlink>
<apex:commandLink action="{!last}">Last</apex:commandlink>
</apex:panelGrid>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>
Controller Class:-
public class AccountPaginationController {
public ApexPages.StandardSetController con {
get {
if(con == null) {
con = new ApexPages.StandardSetController(Database.getQueryLocator([Select Id, Name, AccountNumber,Type FROM Account Order By Name limit 100]));
//here you can set the record size to display
con.setPageSize(3);
}
return con;
}
set;
}
public List<Account> getlistAccount(){
return (List<Account>)con.getRecords();
}
public Boolean hasNext {
get {
return con.getHasNext();
}
set;
}
public Boolean hasPrevious {
get {
return con.getHasPrevious();
}
set;
}
public Integer pageNumber {
get {
return con.getPageNumber();
}
set;
}
public void first() {
con.first();
}
public void last() {
con.last();
}
public void previous() {
con.previous();
}
public void next() {
con.next();
}
public void cancel() {
con.cancel();
}
}
then here is the final out put of this page
That's it.
Enjoy the Coding !!!!!!
0 comments:
Post a Comment