Skip to main content
Ryan Repe perguntou em #Visualforce
Hi, is it possible to list all sales force objects to my Visual Force page?

My task would be to make all objects (standard/custom)  from our prospect be listed in our app's custom page. How could this be possible? Hopefully it would. Thanks.
4 respostas
  1. 30 de jul. de 2015, 04:32

    Please try below code for custom object with custom field

    public with sharing class ExtractSobject

    {

    public String Sf{get;set;}

    public String Selectedobject { get; set; }

    public List<SelectOption> getSelectedobjnames()

    {

    List<Schema.SObjectType> obj = Schema.getGlobalDescribe().Values();

    List<SelectOption> options = new List<SelectOption>();

    options.add(new SelectOption('--Select Object--','--Select Object--'));

    for(Schema.SObjectType st : obj)

    {

    if(Selectedobject == null || Selectedobject=='' )

    {

    Selectedobject = st.getDescribe().getName();

    }

    options.add(new SelectOption(st.getDescribe().getName(),st.getDescribe().getName()));

    }

    return options;

    }

    public List<SelectOption> getSelectedobjFields()

    {

    SObjectType objTyp = Schema.getGlobalDescribe().get(Selectedobject);

    DescribeSObjectResult objDef = objTyp.getDescribe();

    Map<String, SObjectField> fields = objDef.fields.getMap();

    Set<String> fieldSet = fields.keySet();

    List<SelectOption> options = new List<SelectOption>();

    options.add(new SelectOption('--Select Object--','--Select Object--'));

    for(String s:fieldSet)

    {

    SObjectField Sobjfields = fields.get(s);

    DescribeFieldResult selectedField = Sobjfields.getDescribe();

    options.add(new SelectOption(selectedField.getName(),selectedField.getName()));

    }

    return options;

    }

    }

     

    <apex:page controller="ExtractSobject">

    <apex:form >

    <apex:pageblock >

    <apex:pageblocksection >

    <apex:pageBlockSectionItem >

    <apex:outputlabel value="Select Object"/>

    <apex:selectList value="{!Selectedobject }" size="1">

    <apex:selectoptions value="{!Selectedobjnames}"></apex:selectoptions>

    <apex:actionSupport event="onchange" rerender="a"/>

    </apex:selectList>

    </apex:pageBlockSectionItem>

    <apex:pageBlockSectionItem >

    <apex:outputPanel id="a">

    <apex:outputLabel value="Object Fields" ></apex:outputLabel>

    <apex:selectList value="{!Sf}" size="1">

    <apex:selectOptions value="{!SelectedobjFields}" />

    </apex:selectList>

    </apex:outputPanel>

    </apex:pageBlockSectionItem>

    </apex:pageBlockSection>

    </apex:pageblock>

    </apex:form>

    </apex:page>

    Please let us know if this will help u

    Thanks

    Amit Chaudhary

     
0/9000