Bienvenido a proyecto on line, en este sitio encontrarás la solucíon que buscabas.
Solución:
Este es un requisito muy común y tenemos algunos buenos blogs desde donde puede obtener el código directamente.
- Blog de desarrolladores de Salesforce: uso de Dynamic Apex para recuperar valores de listas de selección
Código de ejemplo:
public static List getPicklistValues(String ObjectApi_name,String Field_name)
List lstPickvals=new List();
Schema.SObjectType targetType = Schema.getGlobalDescribe().get(ObjectApi_name);//From the Object Api name retrieving the SObject
Sobject Object_name = targetType.newSObject();
Schema.sObjectType sobject_type = Object_name.getSObjectType(); //grab the sobject that was passed
Schema.DescribeSObjectResult sobject_describe = sobject_type.getDescribe(); //describe the sobject
Map field_map = sobject_describe.fields.getMap(); //get a map of fields for the passed sobject
List pick_list_values = field_map.get(Field_name).getDescribe().getPickListValues(); //grab the list of picklist values for the passed field on the sobject
for (Schema.PicklistEntry a : pick_list_values) //for all values in the picklist list
lstPickvals.add(a.getValue());//add the value to our final list
return lstPickvals;
Este es el método de utilidad que utilizo para obtener todos los valores de la lista de selección para un objeto y un campo.
En su caso, necesita la opción de selección para permitir que el usuario seleccione si usa en la página de Visualforce
global static list getPicklistValues(SObject obj, String fld)
list options = new list();
// Get the object type of the SObject.
Schema.sObjectType objType = obj.getSObjectType();
// Describe the SObject using its object type.
Schema.DescribeSObjectResult objDescribe = objType.getDescribe();
// Get a map of fields for the SObject
map fieldMap = objDescribe.fields.getMap();
// Get the list of picklist values for this field.
list values =
fieldMap.get(fld).getDescribe().getPickListValues();
// Add these values to the selectoption list.
for (Schema.PicklistEntry a : values)
options.add(new SelectOption(a.getLabel(), a.getValue()));
return options;
Creo que esto puede funcionar. Realicé algunas pruebas en un campo estándar y pude ver los valores a través de la consola.
Schema.DescribeFieldResult studentStatus = Student__c.Student_Status__c.getDescribe();
List studentStatusValues = studentStatus.getPicklistValues();
valoraciones y reseñas
Te invitamos a asentar nuestra publicación exponiendo un comentario o dejando una valoración te lo agradecemos.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)