You need to sign in to do that
Don't have an account?
Rajashri
Get the data from SubQuery
Hi,
I am trying to retrieve the Status value from the SubQuery and wanted to add that value in my Wrapper List.Can anyone please tell me how to retrieve the Status Value from Subquery.Status field is available in Campaign Members.
Below is my controller code
public with sharing class CampaignView {
public Campaign camp {get; set; }
public List<MemberWrapper> lMemberWrappers {get; set;}
public DateTime startDate{get;set;}
public CampaignView(ApexPages.StandardController controller) {
camp = (Campaign)controller.getRecord();
lMemberWrappers = new List<MemberWrapper>();
getCampaignMembers();
startDate=null;
for(Lead ld : CampaignMembers) {
for (ActivityHistory ah : ld.getSObjects('ActivityHistories')) {
lMemberWrappers.add(new MemberWrapper( ld.Name,cm.Status));
}}}
private List<Lead> CampaignMembers;
public List<Lead> getCampaignMembers() {
CampaignMembers = [Select Id,Name, Phone,MobilePhone,Email, LastModifiedDate,(Select id, Campaign.Name,Contact.Phone,Lead.FirstName,Lead.LastName,Lead.Name,LeadID,ContactID,Lead.Phone,Lead.Email, Lastmodifieddate,Lead.LastmodifiedDate,Status,CampaignId,Campign_ID__c,Lead.MobilePhone From CampaignMembers where CampaignId =:camp.Id ),
(Select Subject, Id,lastModifiedDate From ActivityHistories order by LastModifiedDate DESC LIMIT 1 )
From Lead where Id IN(select LeadId from campaignMember where campaignId =:camp.Id ) ];
return CampaignMembers;
}
public class MemberWrapper {
public String Status {get; set;}
public String Name {get; set;}
public MemberWrapper(String Name,String Status ) {
this.Name = Name;
this.Status = Status;
}}}
I am trying to retrieve the Status value from the SubQuery and wanted to add that value in my Wrapper List.Can anyone please tell me how to retrieve the Status Value from Subquery.Status field is available in Campaign Members.
Below is my controller code
public with sharing class CampaignView {
public Campaign camp {get; set; }
public List<MemberWrapper> lMemberWrappers {get; set;}
public DateTime startDate{get;set;}
public CampaignView(ApexPages.StandardController controller) {
camp = (Campaign)controller.getRecord();
lMemberWrappers = new List<MemberWrapper>();
getCampaignMembers();
startDate=null;
for(Lead ld : CampaignMembers) {
for (ActivityHistory ah : ld.getSObjects('ActivityHistories')) {
lMemberWrappers.add(new MemberWrapper( ld.Name,cm.Status));
}}}
private List<Lead> CampaignMembers;
public List<Lead> getCampaignMembers() {
CampaignMembers = [Select Id,Name, Phone,MobilePhone,Email, LastModifiedDate,(Select id, Campaign.Name,Contact.Phone,Lead.FirstName,Lead.LastName,Lead.Name,LeadID,ContactID,Lead.Phone,Lead.Email, Lastmodifieddate,Lead.LastmodifiedDate,Status,CampaignId,Campign_ID__c,Lead.MobilePhone From CampaignMembers where CampaignId =:camp.Id ),
(Select Subject, Id,lastModifiedDate From ActivityHistories order by LastModifiedDate DESC LIMIT 1 )
From Lead where Id IN(select LeadId from campaignMember where campaignId =:camp.Id ) ];
return CampaignMembers;
}
public class MemberWrapper {
public String Status {get; set;}
public String Name {get; set;}
public MemberWrapper(String Name,String Status ) {
this.Name = Name;
this.Status = Status;
}}}
Hope this example will help you.
http://www.infallibletechie.com/2012/04/how-to-get-subquery-field-value-using.html
Mark this as best answer if its helps.
Thanks,
lMemberWrappers.add(new MemberWrapper( ld.Name,ld.getSObject('CampaignMembers').get('Status') ));
but it's giving me an error that " Invalid relationship CampaignMembers for Lead"
Do you have any Idea?