Thursday, January 16, 2014

Schema class Example

============VFPage=====================
<apex:page controller="AllObjectsinOrg1" sidebar="false">
  <apex:form >
   <apex:pageBlock id="pgblck">
 
    <apex:outputlabel value="Object Name" for="ObjPickList"/>        
     <apex:selectList value="{!ObjectSelected}" multiselect="false" id="ObjPickList" size="1">
       <apex:selectOptions value="{!ObjList}"/>
       <apex:actionSupport event="onchange"  action="{!fieldsofObject}" rerender="pgblck" />
    </apex:selectList>{!count}<br/><br/>
   
     <apex:outputlabel value="Field Name" for="fldPickList" rendered="{!rendflag}"/>
        <apex:selectList value="{!fldselected}" multiselect="false" id="fldPickList" size="1" rendered="{!rendflag}">
            <apex:selectOptions value="{!FieldList}"/>                                
        </apex:selectList>{!cou}
       
 </apex:pageBlock>
 </apex:form>
</apex:page>

============Controller========================
public class AllObjectsinOrg1 {
 public Integer count{set;get;}
 public Integer cou{set;get;}
 Public string ObjectSelected{get;set;}
 Public string fldselected{get;set;}
 Public Map<String, Schema.SObjectType> AllObjmap;
 Public Map <String, Schema.SObjectField> fieldMap;
 Public boolean rendflag{get;set;}
 Public AllObjectsinOrg1(){
    AllObjmap = New Map<String, Schema.SObjectType>();
    AllObjmap = Schema.getGlobalDescribe();
    System.debug('******All object Names :'+ AllObjmap.keyset());
}
Public List<selectoption> getObjList(){
    List<selectoption> objList = new List<selectoption>();
    for(string s:AllObjmap.keyset()){
        objList.add(new selectoption(s,s));
        count = objList.size();
    }
  return objList;  
 }
 Public List<selectoption> getFieldList(){
    List<selectoption> fldList = new List<selectoption>();
    if(!fieldMap.isEmpty()){
      for(string s:fieldMap.keyset()){
          fldList.add(new selectoption(s,s));
          cou = fldList.size();
      }
      if(fldList.size()== 0)
         fldList.add(new selectoption('--None--','--None--'));
    }
  return fldList;  
 }
  Public void fieldsofObject(){
    fieldMap = New Map <String, Schema.SObjectField>();
    fieldMap = AllObjmap.get(objectSelected).getDescribe().fields.getMap();
    System.debug('###### all fields of object## :' + fieldMap.keyset());
    rendflag = true;
 }
}

No comments:

Post a Comment