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

Could not resolve the entity from <apex:outputField> value binding
hi
here's blocktable in my page:
----------------------------------------------------------------------------------------------------------------------------------------------------
<apex:pageBlockTable id="CampaignHierarchyList" value="{!campaign}" var="ch" rendered="{!NOT(ISNULL(campaign))}" >
<apex:column HeaderValue="Campaign Name" style="width:40%">
<apex:outputLink title="" value="/{!ch.Camp.Id}">
<apex:outputText value="{!ch.Camp.name}"/>
</apex:outputLink>
</apex:column>
<apex:column HeaderValue="Federal Contacts" style="width:15%">
<apex:outputField value="{!ch.fedCount}" />
</apex:column>
<apex:column HeaderValue="Federal Responses" style="width:15%">
<apex:outputField value="{!ch.fedResponse}"/>
</apex:column>
<apex:column HeaderValue="Non-Federal Contacts" style="width:15%">
<apex:outputField value="{!ch.NonfedCount}"/>
</apex:column>
<apex:column HeaderValue="Non-Federal Responses" style="width:15%">
<apex:outputField value="{!ch.NonfedResponse}"/>
</apex:column>
</apex:pageBlockTable>
and my class for my pageblock:
-------------------------------------------------------------------------------------------------------------------------------------------------
public list<cCampaign> lCampaign;
public List<cCampaign> getcampaign(){
Campaign[] campParent = [Select Id, Name, NumberOfContacts, HierarchyNumberOfContacts, NumberOfResponses, HierarchyNumberOfResponses
from Campaign where id = :c.Id];
ChCmembers = [Select Contact.Id from CampaignMember where Campaignid = :campParent[0].id];
for (CampaignMember cm : ChCmembers){
ConHIds.add(cm.Contact.Id);
}
//get federal contacts ids
for (Contact Con : [Select ID From Contact where Id in: ConHIds and Account.Federal_Account__c = true]){
FederalConIds.add(Con.Id);
}
//get non federal contacts ids
for (Contact Con : [Select ID From Contact where Id in: ConHIds and Account.Federal_Account__c = false]){
NonFederalConIds.add(Con.Id);
}
Campaign[] campChild = [Select Id,Owner.UserRoleId from Campaign where Parent_Campaign_Name__c like: campParent[0].name];
for (integer i = 0; i < campChild.size();i++){
setUserRoleId.add(campChild[i].Owner.UserRoleId);
}
cCampaign x = new cCampaign(campParent[0]);
x.sFederalConIds=FederalConIds;
x.sNonFederalConIds=NonFederalConIds;
lCampaign.add(x);
CmParent.add(campParent[0].Id);
CmParentName.add(campParent[0].Name);
return lCampaign;
}
public class cCampaign{
public Campaign Camp{get;set;}
public set<Id> sFederalConIds {get;set;}
public set<Id> sNonFederalConIds {get;set;}
public integer fedCount {get;set;}
public integer fedResponse {get;set;}
public integer NonfedCount {get;set;}
public integer NonfedResponse {get;set;}
public cCampaign(Campaign c){
Camp = c;
fedCount = [Select count() From Contact where Id in: sFederalConIds and Account.Federal_Account__c = true];
fedResponse = [Select count() from CampaignMember where Contact.Id in: sFederalConIds and HasResponded = true and Campaignid=:c.id];
NonfedCount = [Select count() From Contact where Id in: sNonFederalConIds and Account.Federal_Account__c = false];
NonfedResponse = [Select count() from CampaignMember where Contact.Id in: sNonFederalConIds and HasResponded = true and Campaignid=:c.id];
}
}
Hi,
You can only use outputfield with Sobject fields i.e. xxx__c - you are trying to use an integer value so binding won't work.
Try something like:-
You can format the number in the output text value attribute. See documentation for details.
Alternatively just put {!ch.fedCount} directly into your VF page.
Rich.