//根据对象的api和字段api获取选项列表的值
public static List<String> getPicklistValues(String ObjectApi_name,String Field_name)
{
List<String> lstPickvals=new List<String>();
//From the Object Api name retrieving the SObject
Schema.SObjectType targetType = Schema.getGlobalDescribe().get(ObjectApi_name);
Sobject Object_name = targetType.newSObject();
//grab the sobject that was passed
Schema.sObjectType sobject_type = Object_name.getSObjectType();
//describe the sobject
Schema.DescribeSObjectResult sobject_describe = sobject_type.getDescribe();
//get a map of fields for the passed sobject
Map<String, Schema.SObjectField> field_map = sobject_describe.fields.getMap();
//grab the list of picklist values for the passed field on the sobject
List<Schema.PicklistEntry> pick_list_values = field_map.get(Field_name).getDescribe().getPickListValues();
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;
}