2014-06-26 3 views
0

J'essaie d'imiter le processus de conversion de lead salesforce. J'ai une page Visualforce et un contrôleur. Le problème que j'ai est quand la page charge la liste déroulante est vide. Mon but est d'avoir une liste de chaînes et de remplir la liste déroulante avec cette liste. J'ai cherché haut et bas et ne peux pas comprendre pourquoi la liste déroulante est vide. Voici mon code, toute aide est appréciée.Remplir une liste déroulante dans une page Visualforce avec une liste de chaînes

--controller--

public with sharing class LeadConvertController { 
    public Lead l {get; private set;} 
    public Account a {get; private set;} 
    public list<SelectOption> options {get; set;} 
    public String attachToclient {get; set;} 

    public LeadConvertController(ApexPages.StandardController sc) { 
     for (Lead referral : [SELECT Id, Name, Phone, OwnerId 
           FROM Lead 
           WHERE Id = : sc.getId()]) { 
      l = referral; 
     } 

     if (l == null) { 
      system.debug(logginglevel.error, 'Missing lead'); 
     } 

     //query by name and phone to find possible Existing Accounts or contact 
     options = findExistingClients(l); 
    } 
    public list<SelectOption> findExistingClients (Lead leadToacc) { 
     list<SelectOption> findClients = new list<SelectOption>(); 
     for (Account acc : [SELECT Id, Name, Type, Primary_Contact__c FROM Account WHERE            Name = :leadToacc.Name OR Phone = :leadToacc.Phone]) { 
      findClients.add(new SelectOption(acc.Id, 'Attach to Existing: ' + acc.Name)); 
      a = acc; 
     } 
     for (Contact c : [SELECT Id, Name FROM Contact WHERE Name = :leadToacc.Name OR Phone = : leadToacc.Phone]) { 
      findClients.add(new SelectOption(c.Id, 'Attach to Existing: ' + c.Name)); 
     } 

     findClients.add(new SelectOption(l.Name, 'Create new Client/Prospect: ' + l.Name)); 
     return findClients; 
    } 
} 

--visualforce page--

<apex:page title="Lead Convert" standardController="Lead" tabStyle="Lead" extensions="LeadConvertController"> 
<apex:sectionHeader title="Convert Referral" subtitle="{!l.Name}"> 
    <apex:outputPanel id="main" rendered="true"> 
     <apex:form> 
      <apex:pageBlock> 
       <apex:pageBlockButtons> 
        <apex:commandButton action="{!convert}" id="Convert" value="Convert" /> 
        <apex:commandButton action="{!cancel}" id="Cancel" value="Cancel" /> 
       </apex:pageBlockButtons> 
       <apex:pageBlockSection title="Convert Referral" collapsible="false" columns="1"> 
        <apex:inputField label="Record Owner" value="{!l.OwnerId}" required="true" /> 
        <apex:pageBlockSectionItem> 
         <apex:outputPanel> 
          <apex:outputLabel value="Client/Prospect Name" /> 
          <apex:selectlist value="{!attachToclient}" required="true" /> 
          <apex:selectOptions value="{!options}" /> 
          <apex:outputlink title="View" value="{!a.Primary_Contact__c}">View</apex:outputlink> 
         </apex:outputPanel> 
        </apex:pageBlockSectionItem> 
       </apex:pageBlockSection> 
      </apex:pageBlock> 
     </apex:form> 
    </apex:outputPanel> 
</apex:sectionHeader> 
</apex:page> 

Répondre

1

sommet: doit se situer entre sélectionnez Options balise de début et la balise de fin de "sommet: SelectList".

S'il vous plaît utiliser le code suivant:

<apex:page title="Lead Convert" standardController="Lead" tabStyle="Lead"  extensions="LeadConvertController"> 
<apex:sectionHeader title="Convert Referral" subtitle="{!l.Name}"> 
<apex:outputPanel id="main" rendered="true"> 
    <apex:form> 
     <apex:pageBlock> 
      <apex:pageBlockButtons> 
       <apex:commandButton action="{!convert}" id="Convert" value="Convert" /> 
       <apex:commandButton action="{!cancel}" id="Cancel" value="Cancel" /> 
      </apex:pageBlockButtons> 
      <apex:pageBlockSection title="Convert Referral" collapsible="false" columns="1"> 
       <apex:inputField label="Record Owner" value="{!l.OwnerId}" required="true" /> 
       <apex:pageBlockSectionItem> 
        <apex:outputPanel> 
         <apex:outputLabel value="Client/Prospect Name" /> 
         <apex:selectlist value="{!attachToclient}" required="true" /> 
         <apex:selectOptions value="{!options}" /> 
         </apex:selectlist> 
         <apex:outputlink title="View" value="{!a.Primary_Contact__c}">View</apex:outputlink> 
        </apex:outputPanel> 
       </apex:pageBlockSectionItem> 
      </apex:pageBlockSection> 
     </apex:pageBlock> 
    </apex:form> 
</apex:outputPanel> 

+0

qui a fonctionné parfaitement, Merci! – Hardy

Questions connexes