using multiple values of multiselect picklist field in soql
An example to demonstrate how we can retrieve records with multiple values in multiselect picklist field. Have used a custom multiselect picklist on account Reason__c with values(Reasons 1, Reason 2, Reason 3, Reason 4)In order to retrieve records with multiple values for multiselect field we have to use include/Exclude separate the values by semicolon. For example where include(Reason 1;Reason 2) would return records having both of these two values.
Visualforce page
<apex:page controller="MultiselectController">
<apex:form >
<apex:pageblock >
Accounts having Reasons as 'Reason 1' and 'Reason 2'
<apex:pageblocktable value="{!accList1}" var="acc1">
<apex:column value="{!acc1.Name}"/>
<apex:column value="{!acc1.Reasons__c}"/>
</apex:pageblocktable>
</apex:pageblock>
<apex:pageblock >
Accounts having Reasons as both 'Reason 1' and 'Reason 2' OR only 'Reason 2'
<apex:pageblocktable value="{!accList2}" var="acc2">
<apex:column value="{!acc2.Name}"/>
<apex:column value="{!acc2.Reasons__c}"/>
</apex:pageblocktable>
</apex:pageblock>
</apex:form>
</apex:page>
Controller
Public class MultiselectController {
Public List<account> accList1{get;set;}
Public List<account> accList2{get;set;}
Public MultiselectController(){
accList1 = New List<account>();
accList2 = New List<account>();
accList1 = [select name,reasons__c from account where reasons__C includes('Reason 1;Reason 2')];
accList2 = [select name,reasons__c from account where reasons__C includes('Reason 1;Reason 2','Reason 2')];
}
}
No comments:
Post a Comment