I´m trying to create an editable related list for Campaign Members, but can´t seem to reference a field (in my extension below) from the actual Campaign Member object (Description__c). I get a "No such column 'Description__c' on entity 'CampaignMember'. If you are attempting to use a custom field, be sure to append the '__c' after the custom field name" error inwithin the Developer Console.
Which means it can´t be displayed in the visualforce page (the code "works", but instead of appearing as a table, it appears as an "SObject row was retrieved via SOQL without querying the requested field" error). Any ideas?
public with sharing class CampaignRelatedListExtension { public List<CampaignMember> campaignMembers { get; private set; } public CampaignRelatedListExtension(ApexPages.StandardController controller) { campaignMembers = [ SELECT Campaign.Name, Campaign.Startdate, Campaign.Type, Description__c FROM CampaignMember WHERE ContactId = :controller.getId() ]; } } And my vf page:
<apex:page standardController="Contact" extensions="CampaignRelatedListExtension"> <apex:form > <apex:pageBlock title="Campaign Members"> <apex:pageBlockTable value="{!campaignMembers}" var="member"> <apex:column value="{!member.Campaign.Name}" /> <apex:column value="{!member.Campaign.Startdate}" /> <apex:column value="{!member.Campaign.Type}" /> <apex:column value="{!member.Description__c}" /> </apex:pageBlockTable> </apex:pageBlock> </apex:form> </apex:page>