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
deepu.sandeepdeepu.sandeep 

contacts display using wrapper class

hi

     i wrote a code for displaying account and its related contacts using wrapperclass

now my requirement is i have button called show contacts if i click dat button it has to show account and its related contacts .

i am pasting  my code here can anyone do modifications and revert.

 

----------------------vfpage-----------------------

<apex:page controller="MainWrapperClass">
<apex:form >
<apex:pageBlock >
<apex:pageBlockTable value="{!DifferentObject}" var="Dodata">
<apex:column value="{!Dodata.Accname}" headerValue="Account"/>
<apex:column value="{!Dodata.Conname}" headerValue="Contact"/>
</apex:pageBlockTable>
</apex:pageBlock>
<apex:commandButton value="Show Contacts" action="{!contacts}"/>
</apex:form>
</apex:page>

 

 

---------------------------controller-------------------------

 

public Class MainWrapperClass
{

public string Differentobject{get;set;}
public String Accname{get;set;}
public String Conname{get;set;}
public String AccountName='';
public String ContactName='';
public id id1='0019000000Cd9lLAAR';
public id id2='0039000000DNmUS';

public WrapperClass getDifferentObject()
{
Account Varacc=[Select id,name from Account where id=:id1];

AccountName=Varacc.name;
wrapperClass Wc=new wrapperClass(AccountName,ContactName);
return wc;
}

public PageReference contacts()
{

List<Contact> Varcon=[Select Accountid,lastname from Contact where Accountid in(select id from account where id=:id1)];

if(!Varcon.isEmpty())
{

for(Contact cnt: Varcon)
//for(Integer i=0;i<=1;i++)
{
if(cnt.Lastname!=null)
{
ContactName+=cnt.Lastname+',';
}
}
}

return null;
}
public Class wrapperClass
{
public String Accname{get;set;}
public String Conname{get;set;}
public wrapperClass(String Aname,String Cname)
{
Accname=Aname;
Conname=Cname;
}
}


}

 

Thanksin advance

 

Apoorv SharmaApoorv Sharma

 

 

 

 

 

 

public class AccountAppController
{
   public Account pstObj;
   
   public List<SelectOption> accountOptions {get; set;}
   public String selectedAccount {get; set;}
   public List<Contact> contactList {get; set;}
   
   public AccountAppController(ApexPages.StandardController ctrl) {
       pstObj = (Account) ctrl.getrecord();
       
       accountOptions = new List<SelectOption>();
       
       List<Account> lstAcc = [select Name from Account];
       
       for(Account acc :lstAcc) {
           accountOptions.add(new SelectOption(acc.id, acc.Name));
       }
   }
   
   public PageReference queryContacts() {
       contactList = [select name, email from Contact where AccountId = :selectedAccount];
       return null;
   }
}

Apoorv SharmaApoorv Sharma

<apex:page standardController="Account" extensions="AccountAppController"> <apex:form >
<apex:pageBlock >
<apex:pageBlockSection >
<apex:pageBlockSectionItem >
<apex:outputLabel value="Account"></apex:outputLabel>
<apex:selectList value="{!selectedAccount}" size="1">
<apex:selectOptions value="{!accountOptions}"></apex:selectOptions> <apex:actionSupport event="onchange" action="{!queryContacts}"/> </apex:selectList>
</apex:pageBlockSectionItem>
</apex:pageBlockSection>
<apex:pageBlockTable value="{!contactList}" var="c">
<apex:column value="{!c.Name}"/>
<apex:column value="{!c.Email}"/>
</apex:pageBlockTable>
</apex:pageBlock>
</apex:form>
</apex:page>