I got the following method and vf page. I got a object called Business_unit and it has two record types (Business Unit and Project).
I got a SelectOptions List, and I want to make the selectoption values default to 'All' when Record Type is 'Business Unit' -when user creates a new Business Unit record.
Also I want to make the selectoption values default to '-None-' when Record Type is 'Project' -when user creates a new 'Project' type Business Unit record. currently my code always defaults to '-None-' in both record types.
Method----------------------
public List<SelectOption> getPortfolioProjectRecords(Id currentBusinessUnitId){
grc__Business_Unit__c theBusinessUnit = SoqlHelper.getBusinessUnit(currentBusinessUnitId);
// Ensure only risks for the business unit and the BU children are listed
Set<grc__Business_Unit__c> bUSet = BusinessUnitHelper.getChildBusinessUnits(theBusinessUnit);
bUSet.add(theBusinessUnit);
//String strSelected;
strSelected = '';
options = new List<SelectOption>();
for(Business_Unit_Project_Portfolio_Lookup__c obj :[SELECT Id, Name, Business_Unit__c, Business_Unit__r.ProjectType__c, Project_Portfolio__c, Project_Portfolio__r.Name FROM Business_Unit_Project_Portfolio_Lookup__c WHERE Business_Unit__c IN: bUSet AND (Business_Unit__r.ProjectType__c = 'Business Unit' OR Business_Unit__r.ProjectType__c = 'Project')] ){
options.add(new SelectOption(obj.Project_Portfolio__c,obj.Project_Portfolio__r.Name));
if(obj.Business_Unit__r.ProjectType__c=='Business Unit'){
strSelected='All';
}
else if(obj.Business_Unit__r.ProjectType__c=='Project'){
strSelected='-None-';
}
}
return options;
}
VF page------------------------
<apex:form >
<br/>
<apex:outputpanel>
<b><apex:outputLabel value="Select Portfolio"/></b>
<apex:selectList value="{!strSelected}" multiselect="false" size="1">
<apex:selectOption itemValue="All" itemLabel="All" />
<apex:selectOption itemValue="-None-" itemLabel="-None-" />
<apex:selectOptions value="{!options}"/>
<apex:actionSupport event="onchange" action="{!portfolioList}" reRender="drawHeatmap"/>
</apex:selectList>
<br/><br/>
</apex:outputpanel>
</apex:form>