function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Gopal ChatGopal Chat 

Below is my code where I have 4 pagination button,when i select radio button front of account,contact will display,when i reach

at the last page and than select next button a message displays(NO RELATED CONTACTS FOR THIS ACCOUNT).after that when i select again a radio button for account contact will not display only message displays but i have contacts for the account.in search process i have 4-5 same accounr but contacts are different

<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="{!display}" />
                        <apex:actionSupport event="onclick" action="{!showContact}" reRender="conSection"  >
                            <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:outputPanel id="conSection">
                <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}" id="pbt1" 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:outputPanel>
        </apex:pageblock>
    </apex:form>
</apex:page>

public class SearchRecords {
    public boolean display{get;set;}
    public String AccId{get;set;}
    public string getstring{get;set;}
    public List<Account> accountlist {get;set;}
    public list<Contact> conList{get;set;}
    private integer totalRecs = 0;
    private integer OffsetSize = 0;
    private integer LimitSize=6;
    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!=NULL){
            totalRecs = conlist.size();
            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(){
        if(OffsetSize == 0)
            return true;
        else
            return false;
        
    }
    public boolean getnxt(){
        if((OffsetSize + LimitSize) > totalRecs)
            return true;
        else
            return false;
    }
}
imrohitimrohit
Hi Raghav 
i have made some changes to your code please replace your code with this and check now you will not get any error
public class SearchRecords {
    public boolean display{get;set;}
    public String AccId{get;set;}
    public string getstring{get;set;}
    public List<Account> accountlist {get;set;}
    public list<Contact> conList{get;set;}
    private integer totalRecs = 0;
    private integer OffsetSize = 0;
    private integer LimitSize=1;
    public Boolean disablelast {get;set;}
    public Boolean disabl{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!=NULL){
            totalRecs = conlist.size();
            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;
         if(offsetsize==0){
                disabl=true;
                disablelast=false;
            }
        showContact();
    }
    public void previous(){
       if(offsetSize==0){
            disabl=true;
            showContact(); 
            }
            if(offsetsize>0){
                OffsetSize = OffsetSize-LimitSize;
                disabl=false;
            }
            disablelast=false;
            showContact();
            
    }
    public void next(){
        OffsetSize = OffsetSize + LimitSize;
         if((totalRecs<=LimitSize)||((OffsetSize +LimitSize)>=totalRecs)){
                
                 disablelast=true;
                }
                disabl=false;
        System.debug('>>>>>OffsetSize '+OffsetSize);
        showContact();
    }
    public void LastPage(){
       offsetsize=totalRecs-math.mod(totalRecs,limitsize);
            disablelast=true;
            disabl=false;
        showContact();
    }
    public boolean getprev(){
        if(OffsetSize == 0)
            return true;
        else
            return false;
        
    }
    public boolean getnxt(){
        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="{!display}" />
                        <apex:actionSupport event="onclick" action="{!showContact}" reRender="conSection"  >
                            <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:outputPanel id="conSection">
                <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}" id="pbt1" 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="{!disabl}"/>
                    <apex:commandButton value="Previous" rerender="conpgblk" action="{!previous}" disabled="{!disabl}"/>
                    <apex:commandButton value="Next" rerender="conpgblk" action="{!next}" disabled="{!disablelast}"/>
                    <apex:commandButton value="Last Page" rerender="conpgblk" action="{!LastPage}" disabled=""/> 
                    </apex:outputPanel>
                </apex:pageBlockSection>
            </apex:outputPanel>
        </apex:pageblock>
    </apex:form>
</apex:page>

and please let me know if this solve your problem
Gopal ChatGopal Chat
By your change the message is not displaying now but i also want the message when i reach the last page and if i select next button