You need to sign in to do that
Don't have an account?
Gopal Chat
In my code when i select the last page its showing first page and after reaching last,the message
Here is my code
<apex:page controller="SearchRecords" showHeader="true" >
<apex:form id="frm">
<!----<apex:actionFunction name="showcon" action="{!showContact}" reRender="frm" /> --->
<apex:pageblock >
<apex:pageBlockSection title="Search Account Records" columns="1">
Enter Name<apex:inputText value="{!getstring}" id="theTextInput"/>
<apex:commandButton action="{!searchRecords}" value="Search" id="theSearch" reRender="frm"/>
</apex:pageBlockSection>
<apex:pageBlockSection title="Account Detail" id="pb">
<apex:pageBlocktable value="{!accountlist}" var="acc">
<apex:column >
<input type="radio" name="group1" reRender="frm"/>
<apex:actionSupport event="onclick" action="{!showContact}" reRender="frm" >
<apex:param assignTo="{!AccId}" name="accname" value="{!acc.id}"/>
</apex:actionSupport>
</apex:column>
<apex:column value="{!acc.Name}" />
<apex:column value="{!acc.Phone}" />
</apex:pageBlocktable>
</apex:pageBlockSection>
<apex:pageBlockSection title="Related Contact" id="conpgblk" rendered="{!display}" >
<apex:outputPanel rendered="{!listWrapper.size == 0}">
<b> NO RELATED CONTACTS FOR THIS ACCOUNT.</b>
</apex:outputPanel>
<apex:outputPanel rendered="{!listWrapper.size != 0}">
<div align="center" draggable="false" >
<apex:commandButton value="Send Email" action="{!SendEmail}" />
<apex:commandButton value="Print Detail" action="{!PrintDetail}"/>
</div>
<apex:pageBlockTable value="{!listWrapper}" var="wrap">
<apex:column headerValue="Select">
<apex:inputCheckbox value="{!wrap.checked}" id="inputBox"/>
</apex:column>
<apex:column value="{!wrap.con.Name}"/>
<apex:column value="{!wrap.con.Phone}"/>
<apex:column value="{!wrap.con.Email}"/>
<apex:column value="{!wrap.con.Account.Name}"/>
<apex:column value="{!wrap.con.AccountId}"/>
<apex:column value="{!wrap.con.Id}"/>
</apex:pageBlockTable>
<apex:commandButton value="First Page" rerender="conpgblk" action="{!FirstPage}" disabled="{!prev}"/>
<apex:commandButton value="Previous" rerender="conpgblk" action="{!previous}" disabled="{!prev}"/>
<apex:commandButton value="Next" rerender="conpgblk" action="{!next}" disabled=""/>
<apex:commandButton value="Last Page" rerender="conpgblk" action="{!LastPage}" disabled=""/>
</apex:outputPanel>
</apex:pageBlockSection>
</apex:pageblock>
</apex:form>
</apex:page>
public class SearchRecords {
public boolean display{get;set;}
private integer totalRecs = 0;
private integer OffsetSize = 0;
private integer LimitSize=5;
public String AccId{get;set;}
public string getstring{get;set;}
public List<Account> accountlist {get;set;}
public list<Contact> conList{get;set;}
public void searchRecords(){
display=false;
accountlist= new list<Account>();
if(getstring!=null){
accountlist= Database.query('select id,AccountNumber,name,Phone from Account where name like \'%'+getstring+'%\'');
}
}
public List<WrapperClass> listWrapper {get;set;}
public void showContact()
{
display=true;
listWrapper = new List<WrapperClass>();
List<Contact> conlist = [SELECT id,Title,Fax,Birthdate,Name,Account.Name,Phone,Email FROM Contact WHERE AccountId=:AccId LIMIT :LimitSize OFFSET :OffsetSize ];
if(conlist.size()>0)
{
for(contact con:conlist)
{
listWrapper.add(new WrapperClass(con));
}
}
}
public class WrapperClass
{
public boolean fgjj;
public Boolean checked {get;set;}
public contact con {get;set;}
public WrapperClass(contact con)
{
this.con=con;
checked=false;
}
}
public pageReference SendEmail(){
return null;
}
public pageReference PrintDetail(){
return new pageReference('apex/PrintContactDetail');
}
public void FirstPage(){
OffsetSize = 0;
showContact();
}
public void previous(){
OffsetSize = OffsetSize - LimitSize;
showContact();
}
public void next(){
OffsetSize = OffsetSize + LimitSize;
System.debug('>>>>>OffsetSize '+OffsetSize);
showContact();
}
public void LastPage(){
OffsetSize = totalrecs - math.mod(totalRecs,LimitSize);
system.debug('====>OffsetSize'+OffsetSize);
showContact();
}
public boolean getprev(){
showContact();
if(OffsetSize == 0)
return true;
else
return false;
}
public boolean getnxt(){
showContact();
if((OffsetSize + LimitSize) > totalRecs)
return true;
else
return false;
}
}
<apex:page controller="SearchRecords" showHeader="true" >
<apex:form id="frm">
<!----<apex:actionFunction name="showcon" action="{!showContact}" reRender="frm" /> --->
<apex:pageblock >
<apex:pageBlockSection title="Search Account Records" columns="1">
Enter Name<apex:inputText value="{!getstring}" id="theTextInput"/>
<apex:commandButton action="{!searchRecords}" value="Search" id="theSearch" reRender="frm"/>
</apex:pageBlockSection>
<apex:pageBlockSection title="Account Detail" id="pb">
<apex:pageBlocktable value="{!accountlist}" var="acc">
<apex:column >
<input type="radio" name="group1" reRender="frm"/>
<apex:actionSupport event="onclick" action="{!showContact}" reRender="frm" >
<apex:param assignTo="{!AccId}" name="accname" value="{!acc.id}"/>
</apex:actionSupport>
</apex:column>
<apex:column value="{!acc.Name}" />
<apex:column value="{!acc.Phone}" />
</apex:pageBlocktable>
</apex:pageBlockSection>
<apex:pageBlockSection title="Related Contact" id="conpgblk" rendered="{!display}" >
<apex:outputPanel rendered="{!listWrapper.size == 0}">
<b> NO RELATED CONTACTS FOR THIS ACCOUNT.</b>
</apex:outputPanel>
<apex:outputPanel rendered="{!listWrapper.size != 0}">
<div align="center" draggable="false" >
<apex:commandButton value="Send Email" action="{!SendEmail}" />
<apex:commandButton value="Print Detail" action="{!PrintDetail}"/>
</div>
<apex:pageBlockTable value="{!listWrapper}" var="wrap">
<apex:column headerValue="Select">
<apex:inputCheckbox value="{!wrap.checked}" id="inputBox"/>
</apex:column>
<apex:column value="{!wrap.con.Name}"/>
<apex:column value="{!wrap.con.Phone}"/>
<apex:column value="{!wrap.con.Email}"/>
<apex:column value="{!wrap.con.Account.Name}"/>
<apex:column value="{!wrap.con.AccountId}"/>
<apex:column value="{!wrap.con.Id}"/>
</apex:pageBlockTable>
<apex:commandButton value="First Page" rerender="conpgblk" action="{!FirstPage}" disabled="{!prev}"/>
<apex:commandButton value="Previous" rerender="conpgblk" action="{!previous}" disabled="{!prev}"/>
<apex:commandButton value="Next" rerender="conpgblk" action="{!next}" disabled=""/>
<apex:commandButton value="Last Page" rerender="conpgblk" action="{!LastPage}" disabled=""/>
</apex:outputPanel>
</apex:pageBlockSection>
</apex:pageblock>
</apex:form>
</apex:page>
public class SearchRecords {
public boolean display{get;set;}
private integer totalRecs = 0;
private integer OffsetSize = 0;
private integer LimitSize=5;
public String AccId{get;set;}
public string getstring{get;set;}
public List<Account> accountlist {get;set;}
public list<Contact> conList{get;set;}
public void searchRecords(){
display=false;
accountlist= new list<Account>();
if(getstring!=null){
accountlist= Database.query('select id,AccountNumber,name,Phone from Account where name like \'%'+getstring+'%\'');
}
}
public List<WrapperClass> listWrapper {get;set;}
public void showContact()
{
display=true;
listWrapper = new List<WrapperClass>();
List<Contact> conlist = [SELECT id,Title,Fax,Birthdate,Name,Account.Name,Phone,Email FROM Contact WHERE AccountId=:AccId LIMIT :LimitSize OFFSET :OffsetSize ];
if(conlist.size()>0)
{
for(contact con:conlist)
{
listWrapper.add(new WrapperClass(con));
}
}
}
public class WrapperClass
{
public boolean fgjj;
public Boolean checked {get;set;}
public contact con {get;set;}
public WrapperClass(contact con)
{
this.con=con;
checked=false;
}
}
public pageReference SendEmail(){
return null;
}
public pageReference PrintDetail(){
return new pageReference('apex/PrintContactDetail');
}
public void FirstPage(){
OffsetSize = 0;
showContact();
}
public void previous(){
OffsetSize = OffsetSize - LimitSize;
showContact();
}
public void next(){
OffsetSize = OffsetSize + LimitSize;
System.debug('>>>>>OffsetSize '+OffsetSize);
showContact();
}
public void LastPage(){
OffsetSize = totalrecs - math.mod(totalRecs,LimitSize);
system.debug('====>OffsetSize'+OffsetSize);
showContact();
}
public boolean getprev(){
showContact();
if(OffsetSize == 0)
return true;
else
return false;
}
public boolean getnxt(){
showContact();
if((OffsetSize + LimitSize) > totalRecs)
return true;
else
return false;
}
}
Steven Nsubuga
You forgot to set the value of totalRecs in the showContact method. See updated class below.
Gopal Chat
Thanks
Steven Nsubuga
Do mark your question as resolved if my answer helped. Thanks!