This one is helpfull to you
<script type="text/javascript">
function doCheckboxChange(cb,itemId){
if(cb.checked==true){
aSelectItem(itemId);
}
else{
aDeselectItem(itemId);
}
}
</script>
<apex:form >
<!-- handle selected item -->
<apex:actionFunction name="aSelectItem" action="{!doSelectItem}" rerender="mpb">
<apex:param name="contextItem" value="" assignTo="{!contextItem}"/>
</apex:actionFunction>
<!-- handle deselected item -->
<apex:actionFunction name="aDeselectItem" action="{!doDeselectItem}" rerender="mpb">
<apex:param name="contextItem" value="" assignTo="{!contextItem}"/>
</apex:actionFunction>
<apex:pageBlock title="CloudClickware Pagination Sample" id="mpb">
<!-- table of data -->
<apex:pageBlockTable title="Contacts" value="{!contacts}" var="c">
<apex:column >
<apex:facet name="header">Action</apex:facet>
<apex:inputCheckbox value="{!c.IsSelected}" onchange="doCheckboxChange(this,'{!c.tContact.Id}')"/>
</apex:column>
<apex:column value="{!c.tContact.FirstName}"/>
<apex:column value="{!c.tContact.LastName}"/>
<apex:column value="{!c.tContact.Title}"/>
<apex:column value="{!c.tContact.Phone}"/>
<apex:column value="{!c.tContact.Email}"/>
</apex:pageBlockTable>
<!-- count of selected items -->
<apex:outputLabel value="[{!selectedCount} records selected]" />
<br/>
<!-- next, previous and page info -->
<apex:commandLink action="{!doPrevious}" rendered="{!hasPrevious}" value="Previous" />
<apex:outputLabel rendered="{!NOT(hasPrevious)}" value="Previous" />
<apex:outputLabel value=" (page {!pageNumber} of {!totalPages}) " />
<apex:commandLink action="{!doNext}" rendered="{!hasNext}" value="Next" />
<apex:outputLabel rendered="{!NOT(hasNext)}" value="Next" />
<apex:pageBlockButtons >
<apex:commandButton value="Delete" action="{!del}"/>
</apex:pageBlockButtons>
</apex:pageBlock>
</apex:form>
public with sharing class wrapperpagination{
public PageReference del() {
return null;
}
public String contextItem{get;set;}
private ApexPages.StandardSetController setCon;
private Set<Id> selectedContactIds;
public wrapperpagination()
{
this.selectedContactIds= new Set<Id>();
this.setCon= new ApexPages.StandardSetController( [SELECT Id, FirstName, LastName, Title, Phone, Email FROM Contact] );
this.setCon.setpageNumber(1);
this.setCon.setPageSize(10);
}
public void doSelectItem(){
this.selectedContactIds.add(this.contextItem);
}
public void doDeselectItem(){
this.selectedContactIds.remove(this.contextItem);
}
public Integer getSelectedCount(){
return this.selectedContactIds.size();
}
public void doNext(){
if(this.setCon.getHasNext())
this.setCon.next();
}
public void doPrevious(){
if(this.setCon.getHasPrevious())
this.setCon.previous();
}
public List<CCWRowItem> getContacts(){
List<CCWRowItem> rows = new List<CCWRowItem>();
for(sObject r : this.setCon.getRecords()){
Contact c = (Contact)r;
CCWRowItem row = new CCWRowItem(c,false);
if(this.selectedContactIds.contains(c.Id)){
row.IsSelected=true;
}
else{
row.IsSelected=false;
}
rows.add(row);
}
return rows;
}
/*
* return whether previous page exists
*/
public Boolean getHasPrevious(){
return this.setCon.getHasPrevious();
}
/*
* return whether next page exists
*/
public Boolean getHasNext(){
return this.setCon.getHasNext();
}
public Integer getPageNumber(){
return this.setCon.getPageNumber();
}
Public Integer getTotalPages(){
Decimal totalSize = this.setCon.getResultSize();
Decimal pageSize = this.setCon.getPageSize();
Decimal pages = totalSize/pageSize;
return (Integer)pages.round(System.RoundingMode.CEILING);
}
public with sharing class CCWRowItem{
public Contact tContact{get;set;}
public Boolean IsSelected{get;set;}
public CCWRowItem(Contact c, Boolean s){
this.tContact=c;
this.IsSelected=s;
}
}
}
Thanks,
Raghavendra Reddy.D