You need to sign in to do that
Don't have an account?

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
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;
}
}
<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>