VisualforcevPage:
<apex:page controller="objectcls">
<apex:form >
<apex:pageBlock >
<apex:pageblockSection title="Objects" columns="1">
<apex:actionFunction name="fieldscall" action="{!fieldsmethod}"/>
<apex:selectList value="{!selectedobj}" size="1" onchange="fieldscall()">
<apex:selectOptions value="{!orgobj}"/>
</apex:selectList>
</apex:pageblockSection>
<apex:pageblocktable value="{!objfields}" var="of" >
<apex:column value="{!of}"/>
</apex:pageblocktable>
</apex:pageBlock>
</apex:form>
</apex:page>
Apex Class:
public with sharing class objectcls {
/* public List<Schema.SObjectField> lstfields{get; set;}
public List<string> objfields { get; set; }*/
public List<selectoption> orgobj {get; set; }
public String selectedobj { get; set; }
public objectcls(){
orgobj=new List<selectoption>();
List<Schema.SObjecttype> lo= Schema.getGlobalDescribe().values();
for(Schema.SObjecttype l:lo){
orgobj.add(new selectoption(string.valueof(l),string.valueof(l)));
orgobj.sort();
}
}
/* public PageReference fieldsmethod() {
objfields=new List<string>();
if(selectedobj=='Account'){
Map<string,Schema.SobjectField> mp= Schema.Sobjecttype.Account.fields.getmap();
List<Schema.SobjectField> lstfields=mp.values();
for(Schema.SobjectField lf:lstfields){
objfields.add(String.valueof(lf));
}
}
if(selectedobj=='Contact'){
Map<string,Schema.SobjectField> mp= Schema.Sobjecttype.Contact.fields.getmap();
List<Schema.SobjectField> lstfields=mp.values();
for(Schema.SobjectField lf:lstfields){
objfields.add(String.valueof(lf));
}
}
if(selectedobj=='Opportunity'){
Map<string,Schema.SobjectField> mp= Schema.Sobjecttype.Opportunity.fields.getmap();
List<Schema.SobjectField> lstfields=mp.values();
for(Schema.SobjectField lf:lstfields){
objfields.add(String.valueof(lf));
}
}
if(selectedobj=='Lead'){
Map<string,Schema.SobjectField> mp= Schema.Sobjecttype.Lead.fields.getmap();
List<Schema.SobjectField> lstfields=mp.values();
for(Schema.SobjectField lf:lstfields){
objfields.add(String.valueof(lf));
}
}
if(selectedobj=='Case'){
Map<string,Schema.SobjectField> mp= Schema.Sobjecttype.Case.fields.getmap();
List<Schema.SobjectField> lstfields=mp.values();
for(Schema.SobjectField lf:lstfields){
objfields.add(String.valueof(lf));
}
}
return null;
} */
private Map <String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe();
public List <string> objfields {get; set;}
/* public List <SelectOption> orgobj
{public get; private set;}
public String selectedobj{get; set;}
// Intialize objectNames and fields
public objectcls() {
orgobj = initObjNames();
objfields = new List<Pair>();
}
// Populate SelectOption list -
// find all sObjects available in the organization
private List<SelectOption> initObjNames() {
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 pagereference fieldsmethod() {
objfields=new List<string>();
Map <String, Schema.SObjectField> fieldMap =
schemaMap.get(selectedobj).getDescribe().fields.getMap();
for(Schema.SObjectField sfield : fieldMap.values()){
schema.describefieldresult dfield =
sfield.getDescribe();
// Pair field = new Pair();
//field.key = dfield.getname();
objfields.add(dfield.getname());
}
return null;
}
/* public class Pair {
public String key {get; set;}
public String val {get; set;}
} */
}
No comments:
Post a Comment