Skip to main content
Yeturu Srikanth (bigworks) ha fatto una domanda in #Apex
//apex class

public class AccountSelectClassController {

//CONTROLLER CLASS

    public list<wrapaccount> wrapaccountList { get; set; }

    public list<account> selectedAccounts{get;set;}     

    public list<id> selectedrecordsIds{get;set;}

    

      public AccountSelectClassController (){

      

     //if(wrapaccountList ==null){

          wrapaccountList =new list<wrapaccount>();

          for(account a:[select id,name from account limit 10]){

           wrapaccountlist.add(new wrapaccount(a));

        

           }

        // }

      }

    //⌗⌗⌗ SELECTED ACCOUNT SHOWN BY THIS METHOD

      public void ProcessSelected(){

     selectedAccounts=new list<account>();

     selectedrecordsIds =new list<id>();

      

      for(wrapaccount wrapobj:wrapaccountlist){

           if(wrapobj.isSelected==true){

           selectedAccounts.add(wrapobj.accn);

           }

            

         }

          

          for(Account abc:selectedAccounts)

          {

            selectedrecordsIds.add(abc.id);    

          }

              List<Contact> records = [SELECT Name FROM Contact WHERE AccountId IN : selectedrecordsIds ];

          System.debug('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'+selectedrecordsIds);

      }

      

  //⌗⌗THIS IS WRAPPER CLASS

   // account and checkbox taken in wrapper class

   

   public class wrapaccount{

    

    public account accn{get;set;}

    public boolean isSelected{get;set;}

     

       public wrapaccount(account a){

     

         accn=a;

         isselected=false;

       }

  }

}

//apex page

<apex:page sidebar="false" controller="AccountSelectClassController">

   

 <!--VF PAGE BLOCK-->

 <apex:form >

     <apex:pageBlock >

        <apex:pageBlockButtons >

          <apex:commandButton action="{!ProcessSelected}" value="Show Selected accounts" reRender="block2"/>

        </apex:pageBlockButtons>

       <apex:pageBlockSection columns="2">

         <apex:pageBlockTable value="{!wrapaccountList}" var="waccl">

            

           <apex:column >

             <apex:facet name="header">

               <apex:inputCheckbox />

             </apex:facet>

            <apex:inputCheckbox value="{!waccl.isSelected}" id="InputId"/>

           </apex:column>

            

            <apex:column value="{!waccl.accn.name}"/>

         </apex:pageBlockTable>

         

          <apex:pageBlockTable value="{!records}" var="sa" id="block2">

            <apex:column value="{!sa.name}"/>

           </apex:pageBlockTable>

       

       </apex:pageBlockSection>

     </apex:pageBlock>

   </apex:form>

</apex:page>

 
1 risposta
  1. 17 mar 2020, 05:20
    Hi Srikanth,

    Write this apex code:-

    //apex class

    public class AccountSelectClassController {

    //CONTROLLER CLASS

        public list<wrapaccount> wrapaccountList { get; set; }

        public list<account> selectedAccounts{get;set;}     

        public list<id> selectedrecordsIds{get;set;}

        public List<Contact> records{get;set;}

        

          public AccountSelectClassController (){

          

         //if(wrapaccountList ==null){

              wrapaccountList =new list<wrapaccount>();

              for(account a:[select id,name from account limit 10]){

               wrapaccountlist.add(new wrapaccount(a));

            

               }

            // }

          }

        //⌗⌗⌗ SELECTED ACCOUNT SHOWN BY THIS METHOD

          public void ProcessSelected(){

         selectedAccounts=new list<account>();

         selectedrecordsIds =new list<id>();

          

          for(wrapaccount wrapobj:wrapaccountlist){

               if(wrapobj.isSelected==true){

               selectedAccounts.add(wrapobj.accn);

               }

                

             }

              

              for(Account abc:selectedAccounts)

              {

                selectedrecordsIds.add(abc.id);    

              }

                   records = List<Contact>([SELECT Name FROM Contact WHERE AccountId IN : selectedrecordsIds ]);

              System.debug('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'+selectedrecordsIds);

          }

          

      //⌗⌗THIS IS WRAPPER CLASS

       // account and checkbox taken in wrapper class

       

       public class wrapaccount{

        

        public account accn{get;set;}

        public boolean isSelected{get;set;}

         

           public wrapaccount(account a){

         

             accn=a;

             isselected=false;

           }

      }

    }

    I hope you find the above solution helpful. If it does, please mark as Best Answer to help others too.

    Thanks and Regards,

    Sachin Arora

    www.sachinsf.com
0/9000