Контроллер Apex, который подсчитывает связанные записи и отображает общую сумму на странице визуальной силы - PullRequest
0 голосов
/ 22 марта 2019

Итак, в нашей организации у нас есть возможности подписки и возможности для детей в виде связанного списка в Sub Opps. Я хочу просто посчитать количество дочерних элементов, где Subject Matter = abc, и отобразить результаты на странице visualforce. Я некоторое время искал в интернете, но, похоже, ничего не работает, и я делаю это впервые. Вот что я придумал (я также отображаю другие поля в этом разделе, но они более понятны)

Контроллер:

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre class="snippet-code-html lang-html prettyprint-override"><code>public class Controller_soqlQuery { 

Public Opportunity MedOppsCount{get;set;}

public Integer total {get; set;}

Public Controller_soqlQuery (ApexPages.StandardController controller) {


AggregateResult[] MedOppsCount = [Select count(id) FROM Opportunity WHERE (Sub_Parent_Opportunity__c =:controller.getId()AND Subject_Matter__c = 'Medical') ]; 

for(AggregateResult ar : MedOppsCount ){
total = (Integer) ar.get('total');
    }
  }
}

Визуальная сила:

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre class="snippet-code-html lang-html prettyprint-override"><code><apex:page docType="html-5.0" standardController="Opportunity" extensions="Controller_soqlQuery" tabStyle="Opportunity">



   <apex:pageblock >
     <apex:pageBlockSection title="Subscription Statistics"  columns="2">
       
           <apex:outputField value="{!Opportunity.Account.Contacts_Engaged__c}"/>                 
           <apex:outputField value="{!Opportunity.Account.Opportunities_Medical__c }"/>
           <apex:outputfield value="{!Opportunity.Account.Opportunities_Non_Medical__c }"/>
           <apex:outputField value="{!Opportunity.Account.Prec_Medical__c }"/>
           <apex:outputfield label="# Medical Opps" value="{!MedOppsCount}" />
            
        
     </apex:pageBlockSection>
    </apex:pageblock>
        
       
          
 
               
     
</apex:page>

Любая помощь будет высоко ценится!

Спасибо

...