Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!-- call custom controller -->
- <apex:page controller="DVUController">
- <apex:form id="form">
- <apex:pageBlock title="Welcome {!$User.FirstName} to the Data Validation Utilities Page">
- <apex:pageBlockSection columns="5">
- <apex:pageblocksection title="Select Object" columns="1">
- <apex:selectList value="{!selectedObject}" size="1">
- <apex:selectOptions value="{!objectOptions}" />
- <apex:actionSupport reRender="form" event="onchange" />
- </apex:selectList>
- </apex:pageblocksection>
- <apex:pageblocksection title="Picklist Fields" columns="1">
- <apex:pageblocktable value="{!picklistfields}" var="results">
- <apex:column value="{!results}"></apex:column>
- </apex:pageblocktable>
- </apex:pageblocksection>
- <apex:pageblocksection title="Select Picklist Field" columns="1">
- <apex:selectList value="{!selectedPicklistField}" size="1">
- <apex:selectOptions value="{!pickListFieldOptions}" />
- </apex:selectList>
- </apex:pageblocksection>
- <apex:pageblocksection title="Picklist Values" columns="1">
- <apex:pageblocktable title="Picklist Field Values" value="{!picklistvalues}" var="results">
- <apex:column title="Picklist Field Values" value="{!results}"></apex:column>
- </apex:pageblocktable>
- </apex:pageblocksection>
- </apex:pageblocksection>
- </apex:pageBlock>
- </apex:form>
- </apex:page>
- public class DVUController {
- public String selectedObject { get; set; }
- public String selectedField { get; set; }
- public String selectedPicklistField { get; set; }
- public List<String> picklistFields=new List<String>();
- public List<String> picklistValues=new List<String>();
- //generate list of Objects from the Org using Dynamic Apex
- public SelectOption[] getObjectOptions() {
- SelectOption[] results = new SelectOption[] { new SelectOption('','-- none --') };
- for(SObjectType sobjectType: Schema.getGlobalDescribe().values()) {
- DescribeSObjectResult dsrao = sobjectType.getDescribe();
- results.add(new SelectOption(dsrao.getName(), dsrao.getLabel()));
- results.sort();
- }
- return results;
- }
- //generate list of names of PicklistFields and MultiPicklistFields from the Object
- public List<String> getPicklistFields(){
- if(selectedObject != NULL){
- //picklistfields = new List<String>();
- Schema.DescribeSObjectResult dsr = Schema.getGlobalDescribe().get(selectedObject).getDescribe();
- Map<String,Schema.SObjectField> fieldMap = dsr.fields.getMap();
- for(String fieldName : fieldMap.keySet()) {
- Schema.SObjectField field = fieldMap.get(fieldName);
- Schema.DescribeFieldResult dfr = field.getDescribe();
- if( dfr.getType()==Schema.DisplayType.Picklist || dfr.getType()==Schema.DisplayType.MultiPicklist ) {
- picklistfields.add(fieldName);
- }
- system.debug('==>picklistfields==>'+picklistfields);
- }
- return picklistfields;
- }
- return NULL;
- }
- //generate list of PicklistFields from the Object as a dropdown
- public SelectOption[] getPicklistFieldOptions() {
- SelectOption[] results = new SelectOption[] { new SelectOption('','-- none --') };
- if(selectedObject != null) {
- for(SObjectField sObjectField: Schema.getGlobalDescribe().get(selectedObject).getDescribe().fields.getMap().values()) {
- DescribeFieldResult dfr = sObjectField.getDescribe();
- if( dfr.getType()==Schema.DisplayType.Picklist || dfr.getType()==Schema.DisplayType.MultiPicklist ) {
- results.add(new SelectOption(dfr.getName(), dfr.getLabel()));
- results.sort();
- }
- }
- }
- return results;
- }
- //generate list of Picklistvalues from the Picklist selected
- public List<String> getPicklistValues(){
- if(selectedPicklistField != NULL && selectedObject != NULL){
- //pickListValues = new List<String>();
- Schema.DescribeSObjectResult dsr = Schema.getGlobalDescribe().get(selectedObject).getDescribe();
- Map<String,Schema.SObjectField> fieldMap = dsr.fields.getMap();
- for(String fieldName : fieldMap.keySet()) {
- Schema.SObjectField field = fieldMap.get(fieldName);
- Schema.DescribeFieldResult dfr = field.getDescribe();
- List<Schema.PickListEntry> picks = dfr.getPicklistValues();
- for(Schema.picklistentry v:picks){
- pickListValues.add(v.getValue());
- system.debug('==>pickListValues==>'+pickListValues);
- }
- return picklistValues;
- }
- }
- return picklistValues;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement