You need to sign in to do that
Don't have an account?
Dilip Kr
Hi all,
please let me know,how to get all contacts of an account on click on count of contact as show above screenshort.
please let me know what i missing in below code
apex class...........
public with sharing class sampleCode {
public List<wrapper> wrapperList{get; set;}
public List<Contact> contactsInformation { get; set; }
public Id selectedCountOfContact { get; set; }
public sampleCode(){
wrapperList=new List<Wrapper>();
for(Account a:[select Name,(select id,name from contacts),(select id from opportunities) from Account limit 5])
{
Wrapper w1=new Wrapper();
w1.Name=a.Name;
w1.Con=a.contacts.size();
w1.Opp=a.opportunities.size();
wrapperList.add(w1);
}
}
class Wrapper{
public String Name{get; set;}
public Integer Con{get; set;}
public Integer Opp{get; set;}
}
public List<Account> getMyAccounts() {
return [SELECT Id, Name,Industry, AccountNumber FROM Account ORDER BY
LastModifiedDate DESC LIMIT 10];
}
public void accountClicked() {
contactsInformation = [SELECT FirstName, LastName FROM Contact
WHERE AccountID = :selectedCountOfContact];
}
}
and page.........
<apex:page controller="sampleCode">
<apex:form >
<apex:outputPanel id="ContactDetail">
<apex:repeat value="{!contactsInformation}" var="contact">
<p>{! contact.FirstName & ' ' & contact.LastName}</p>
</apex:repeat>
</apex:outputPanel>
<apex:pageBlock >
<apex:pageBlockTable value="{!wrapperList}" var="b" >
<apex:column value="{!b.Name}" headerValue="Account Name"/>
<apex:column headerValue="Total Contacts">
<apex:commandlink action="{!accountClicked}" rerender="ContactDetail">
<apex:outputText value="{! b.con}"/>
<!-- <apex:param name="id" value="{!b.id}" assignTo="{!selectedcountofcontact}"/>-->
</apex:commandLink>
</apex:column>
<apex:column headerValue="Total Opportunities">
<apex:commandLink value="{!b.Opp}"/>
</apex:column>
</apex:pageBlockTable>
</apex:pageBlock>
</apex:form>
</apex:page>
get all contacts of an account onclick on count of contact of an account
Hi all,
please let me know,how to get all contacts of an account on click on count of contact as show above screenshort.
please let me know what i missing in below code
apex class...........
public with sharing class sampleCode {
public List<wrapper> wrapperList{get; set;}
public List<Contact> contactsInformation { get; set; }
public Id selectedCountOfContact { get; set; }
public sampleCode(){
wrapperList=new List<Wrapper>();
for(Account a:[select Name,(select id,name from contacts),(select id from opportunities) from Account limit 5])
{
Wrapper w1=new Wrapper();
w1.Name=a.Name;
w1.Con=a.contacts.size();
w1.Opp=a.opportunities.size();
wrapperList.add(w1);
}
}
class Wrapper{
public String Name{get; set;}
public Integer Con{get; set;}
public Integer Opp{get; set;}
}
public List<Account> getMyAccounts() {
return [SELECT Id, Name,Industry, AccountNumber FROM Account ORDER BY
LastModifiedDate DESC LIMIT 10];
}
public void accountClicked() {
contactsInformation = [SELECT FirstName, LastName FROM Contact
WHERE AccountID = :selectedCountOfContact];
}
}
and page.........
<apex:page controller="sampleCode">
<apex:form >
<apex:outputPanel id="ContactDetail">
<apex:repeat value="{!contactsInformation}" var="contact">
<p>{! contact.FirstName & ' ' & contact.LastName}</p>
</apex:repeat>
</apex:outputPanel>
<apex:pageBlock >
<apex:pageBlockTable value="{!wrapperList}" var="b" >
<apex:column value="{!b.Name}" headerValue="Account Name"/>
<apex:column headerValue="Total Contacts">
<apex:commandlink action="{!accountClicked}" rerender="ContactDetail">
<apex:outputText value="{! b.con}"/>
<!-- <apex:param name="id" value="{!b.id}" assignTo="{!selectedcountofcontact}"/>-->
</apex:commandLink>
</apex:column>
<apex:column headerValue="Total Opportunities">
<apex:commandLink value="{!b.Opp}"/>
</apex:column>
</apex:pageBlockTable>
</apex:pageBlock>
</apex:form>
</apex:page>
I solved your problem use belw code and you can modify below code as your requirement. I change something in your code .
//page code
<apex:page controller="sampleCode">
<apex:form >
<apex:outputPanel id="ContactDetail">
<apex:repeat value="{!contactsInformation}" var="contact">
<p>{! contact.FirstName & ' ' & contact.LastName}</p>
</apex:repeat>
</apex:outputPanel>
<apex:pageBlock >
<apex:pageBlockTable value="{!wrapperList}" var="b" >
<apex:column value="{!b.Name}" headerValue="Account Name"/>
<apex:column headerValue="Total Contacts">
<apex:commandlink action="{!accountClicked}" rerender="ContactDetail">
<apex:outputText value="{! b.con}"/>
<apex:param name="id" value="{!b.recordid}" assignTo="{!selectedcountofcontact}"/>
</apex:commandLink>
</apex:column>
<apex:column headerValue="Total Opportunities">
<apex:commandLink value="{!b.Opp}"/>
</apex:column>
</apex:pageBlockTable>
</apex:pageBlock>
</apex:form>
</apex:page>
//Apex code
public with sharing class sampleCode {
public List<wrapper> wrapperList{get; set;}
public List<Contact> contactsInformation { get; set; }
public Id selectedCountOfContact { get; set; }
public sampleCode(){
wrapperList=new List<Wrapper>();
for(Account a:[select id,Name,(select id,name from contacts),(select id from opportunities) from Account limit 5])
{
Wrapper w1=new Wrapper();
w1.Name=a.Name;
w1.Con=a.contacts.size();
w1.Opp=a.opportunities.size();
w1.recordid =a.id;
wrapperList.add(w1);
}
}
class Wrapper{
public String Name{get; set;}
public Integer Con{get; set;}
public Integer Opp{get; set;}
public Id recordid{get; set;}
}
public List<Account> getMyAccounts() {
return [SELECT Id, Name,Industry, AccountNumber FROM Account ORDER BY
LastModifiedDate DESC LIMIT 10];
}
public void accountClicked() {
contactsInformation = [SELECT FirstName, LastName FROM Contact
WHERE AccountID = :selectedCountOfContact];
}
}
I checked it and now it's working as your requirement and select best answer if it solve your problem .
All Answers
for(Account a:[select Name,(select id,name from contacts),(select id from opportunities) from Account limit 5])
{
for(Contact con : a.contacts)
{
Contact conname=con.name;
}
}
lots of appreciation for your support.
when i click on count of contact,it would display name of all contact of that account.
eg- account name total contact
United Oil & Gas, UK1 1
on click on 1 ,it will display contact name associated with United Oil & Gas, UK1
my code is not displaying associated contact of account.please let me know what i missing in code.
thanks
I solved your problem use belw code and you can modify below code as your requirement. I change something in your code .
//page code
<apex:page controller="sampleCode">
<apex:form >
<apex:outputPanel id="ContactDetail">
<apex:repeat value="{!contactsInformation}" var="contact">
<p>{! contact.FirstName & ' ' & contact.LastName}</p>
</apex:repeat>
</apex:outputPanel>
<apex:pageBlock >
<apex:pageBlockTable value="{!wrapperList}" var="b" >
<apex:column value="{!b.Name}" headerValue="Account Name"/>
<apex:column headerValue="Total Contacts">
<apex:commandlink action="{!accountClicked}" rerender="ContactDetail">
<apex:outputText value="{! b.con}"/>
<apex:param name="id" value="{!b.recordid}" assignTo="{!selectedcountofcontact}"/>
</apex:commandLink>
</apex:column>
<apex:column headerValue="Total Opportunities">
<apex:commandLink value="{!b.Opp}"/>
</apex:column>
</apex:pageBlockTable>
</apex:pageBlock>
</apex:form>
</apex:page>
//Apex code
public with sharing class sampleCode {
public List<wrapper> wrapperList{get; set;}
public List<Contact> contactsInformation { get; set; }
public Id selectedCountOfContact { get; set; }
public sampleCode(){
wrapperList=new List<Wrapper>();
for(Account a:[select id,Name,(select id,name from contacts),(select id from opportunities) from Account limit 5])
{
Wrapper w1=new Wrapper();
w1.Name=a.Name;
w1.Con=a.contacts.size();
w1.Opp=a.opportunities.size();
w1.recordid =a.id;
wrapperList.add(w1);
}
}
class Wrapper{
public String Name{get; set;}
public Integer Con{get; set;}
public Integer Opp{get; set;}
public Id recordid{get; set;}
}
public List<Account> getMyAccounts() {
return [SELECT Id, Name,Industry, AccountNumber FROM Account ORDER BY
LastModifiedDate DESC LIMIT 10];
}
public void accountClicked() {
contactsInformation = [SELECT FirstName, LastName FROM Contact
WHERE AccountID = :selectedCountOfContact];
}
}
I checked it and now it's working as your requirement and select best answer if it solve your problem .
thanks for your support.