How to Show The Required Fields in Salesforce Picklist Dynamically?
To show the require fields in Salesforce picklist you have to implement these codes in apex class.
Apex class:
public class objectController {
public Map < String, Schema.SObjectType > schemaMap = Schema.getGlobalDescribe();
public String selectedObject {
get;
set;
}
public String selectedField {
get;
set;
}
public string selectedField1 {
get;
set;
}
public String selectedobject1 {
get;
set;
}
Public objectController() {
selectedObject = ‘account’;
selectedobject1 = ’lead’;
}
public List < SelectOption > getObjectNames() {
List < SelectOption > objNames = new List < SelectOption > ();
List < String > entities = new List < String > (schemaMap.keySet());
entities.sort();
for (String name: entities) {
objNames.add(new SelectOption(name, name));
}
return objNames;
}
public List < SelectOption > getObjectFields() {
Map < String, Schema.SObjectType > schemaMap = Schema.getGlobalDescribe();
Schema.SObjectType ObjectSchema = schemaMap.get(selectedObject);
Map < String, Schema.SObjectField > fieldMap = ObjectSchema.getDescribe().fields.getMap();
List < SelectOption > fieldNames = new List < SelectOption > ();
for (String fieldName: fieldMap.keyset()) {
Schema.SObjectField fied = fieldMap.get(fieldName);
Schema.DescribefieldResult fres = fied.getDescribe();
if (!fres.isNillable() && fres.Type != Schema.DisplayType.Boolean) {
Boolean isReq = fres.isNillable();
fieldNames.add(new SelectOption(fieldName, fieldName + ‘ * ’));
}
if (fres.isNillable() && fres.Type != Schema.DisplayType.Boolean) {
Boolean isReq = fres.isNillable();
fieldNames.add(new SelectOption(fieldName, fieldName));
}
}
return fieldNames;
}
public list < selectoption > getfieldnames() {
map < string, schema.SobjectType > schemakeymap = schema.getglobaldescribe();
schema.SobjectType schemakey = schemakeymap.get(selectedobject1);
Map < String, Schema.SObjectField > fieldMap = schemakey.getDescribe().fields.getMap();
List < SelectOption > fieldNames = new List < SelectOption > ();
for (string fieldname: fieldMap.keyset()) {
fieldNames.add(new selectoption(fieldname, fieldname));
}
return fieldNames;
}
}
Salesforce Visualforce pages:
By using Visualforce you can call these Methods .
