Tuesday, February 28, 2017

Read Page layout dynamically and display Fields using java script

In this we are displaying the account fields dynamically by reading the page layout using java script.

Please find the vf page and classes below.













    
  
  
   
   
  
    




Apex Class
Public with sharing class MarsFirmSumController
{

    public Account acc {get; set;}
    public Boolean checkreloadpage {get; set;}

    public string rectypefld {get;set;}
    public string objectselected {get;set;}
    public list objectfieldlist {get;set;}
    
    public MarsFirmSumController(ApexPages.StandardController controller) 
    {
        List lstString=new List();
        for(String str:Schema.SobjectType.Account.fields.getMap().keySet()){
            lstString.add(str);
        }
        if (!Test.isRunningTest())
        {
            controller.addFields(lstString);
        }
        stdController = controller;
        acc = (Account) controller.getRecord();
        objectselected='Account';
        objectfieldlist = new list();
        checkreloadpage =false;
    }

    //method called on onload of page to showdata fields with data dynamically
    public void calledonload()
    {
        list reqfldlist=new list();
        
        list reqfldlist_temp=rectypefld.split('%firmsum%');
        if(reqfldlist_temp.size()!=1)
        reqfldlist=reqfldlist_temp[1].split(',');
        rectypefld=reqfldlist_temp[0];
        list rlist=new list(); 
        if(rectypefld !='' || rectypefld!=null)
        {
            rlist=rectypefld.split(',');
        }
        objectfieldinfo sfld;
        for(string r1 :rlist)
        {
            sfld=new objectfieldinfo();
            if(r1!='' || r1!=null)
            {
                //check if required
                sfld.apiname=r1;
                sfld.isrequired=false;
                for(String req:reqfldlist)
                {
                    if(r1.trim()==req.trim())
                    sfld.isrequired=true;
                }
                objectfieldlist.add(sfld);
            }
        }
        checkreloadpage =true;
    }
    public class objectfieldinfo
    {
        public string apiname{get;set;}             
        public boolean isrequired{get;set;}        
    }
}

Labels

visualforce page ( 13 ) apex integration ( 5 ) apex trigger ( 4 ) csv file from vf page ( 4 ) javascript ( 4 ) csv visualforce page ( 3 ) Too many ( 2 ) call out ( 2 ) integration ( 2 ) rest api ( 2 ) salesforce rest api ( 2 ) salesforce to salesforce integration ( 2 ) sfdc rest api ( 2 ) trigger ( 2 ) 15 digit to 18 digit ( 1 ) DML rows in Apex ( 1 ) Date Conversion ( 1 ) Date/Time conversion ( 1 ) Deploy ( 1 ) Objects to Future Annotated Methods ( 1 ) SFDC limits ( 1 ) Sobject to Future Annotated Methods ( 1 ) Test Class ( 1 ) TimeZone Conversion ( 1 ) Too many dml rows ( 1 ) Too many future calls ( 1 ) annotations ( 1 ) apex code ( 1 ) closed opportunities ( 1 ) commit ( 1 ) convert ( 1 ) create records ( 1 ) csv create records ( 1 ) custom setting ( 1 ) deployment ( 1 ) deployment changeset ( 1 ) disable apex class ( 1 ) disable apex trigger ( 1 ) disable in production ( 1 ) document ( 1 ) download ( 1 ) field name ( 1 ) formula fields ( 1 ) iframe ( 1 ) inactive ( 1 ) intellisense ( 1 ) jsforce ( 1 ) limits ( 1 ) matrix report in vf page ( 1 ) multi select ( 1 ) multi select salesforce ( 1 ) multiselect ( 1 ) paypal ( 1 ) picklist ( 1 ) record type ( 1 ) rollback ( 1 ) salesforce limits ( 1 ) salesforce list ( 1 ) salesforce map ( 1 ) salesforce rest ( 1 ) salesforce set ( 1 ) salesforce1 ( 1 ) sandbox deployment ( 1 ) sfdc collection ( 1 ) sfdc list ( 1 ) sfdc map ( 1 ) sfdc rest ( 1 ) sfdc set ( 1 ) uncommitted ( 1 ) updated field ( 1 ) user ( 1 ) validation rule opportunity ( 1 ) validation rules opportunities ( 1 ) vf page ( 1 )

Ad