I have a custom ListView button and I'm trying to update a multi-select list field.
Here is my VF page:
<apex:page standardController="Lead" extensions="LeadListViewMassUpdateControllerExt" recordSetVar="Leads">
<apex:form id="theForm">
<apex:pageBlock title="Lead Source Mass-Update" mode="edit" id="theBlock">
<apex:pageMessages />
<apex:pageBlockSection id="mus1">
<apex:inputField value="{!lead.Solution_Interest_s__c}" id="source">
<apex:actionSupport event="onchange" rerender="selectedlist" />
</apex:inputField>
</apex:pageBlockSection>
<apex:pageBlockButtons location="bottom" id="mubut">
<apex:commandButton value="Save" action="{!save}" id="btnSave"/>
<apex:commandButton value="Cancel" action="{!cancel}" id="btnCancel"/>
</apex:pageBlockButtons>
</apex:pageBlock>
<apex:pageBlock title="Selected Leads" id="selectedlist">
<apex:pageBlockTable value="{!selected}" var="l" id="theTable">
<apex:column value="{!l.name}" id="leadname"/>
<apex:column value="{!l.Solution_Interest_s__c}" id="solutionInterest" />
</apex:pageBlockTable>
</apex:pageBlock>
</apex:form>
</apex:page>
Here is my controller:
public class LeadListViewMassUpdateControllerExt {
ApexPages.StandardSetController setCtrl;
public LeadListViewMassUpdateControllerExt(ApexPages.StandardSetController controller) {
setCtrl = controller;
if(setCtrl.getSelected().size() == 0)
ApexPages.addMessage(new ApexPages.Message(ApexPages.severity.warning, 'No records were selected. Please go back and select records to be updated'));
}
}
This code will replace the existing values in the multi-select list field. Instead, I'd like to add new values to multi-select list that already exist? I want to add and NOT replace values.
The issue is I need to the user to add a solution interest value to the records. For example, a lead record has the values: "A" and "B" for solution interest. I want the user to be able to select "C" from the multiple select list and save the record. Then the lead record will have the values "A", "B" and "C" for solution interest. Currently, the code replaces "A" and "B" with "C".
Thanks for any help.