Representing multipicklist as checkboxes;
Visuaforce:
<apex:selectCheckboxes label="CSM: Evidence Provided" layout="pageDirection" style="margin-left: -13px; padding-top: 0px;" value="{!CheckboxSelections}">
<apex:selectOptions value="{!Checkboxes}"></apex:selectOptions>
</apex:selectCheckboxes>
Have your utility methods as follows, (class name LibUtil)
public static list<SelectOption> getPicklistValues(string objectName, String myField){
list<SelectOption> options = new list<SelectOption>();
sObjectType objectType = Schema.getGlobalDescribe().get(objectName);
if(objectType==null)
return options;
Schema.DescribeSObjectResult objDescribe = objectType.getDescribe();
Schema.SObjectField theField = objDescribe.fields.getMap().get(myField);
if(theField==null)
return options;
for (Schema.PicklistEntry a :theField.getDescribe().getPickListValues())
options.add(new SelectOption(a.getLabel(), a.getValue()));
return options;
}
public static String formatPicklistValues(List<String> values) {
if (values == null) return null;
return String.join(values, ';');
}
Inside the controller class, have the following code;
public list<String> CheckboxSelections {get;set;}
public list<selectOption> getCheckboxes(){
return LibUtil.getPicklistValues('objectName','FiledAPIName');
}

No comments:
Post a Comment