function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Mj12Mj12 

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

Best Answer chosen by Admin (Salesforce Developers) 
Richie DRichie D

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:-

<apex:outputText value="{0}">
<apex:param value="{!ch.fedCount}"/>
</apex:outputText>

 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.