function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Varshitha KVarshitha K 

assigning the values in a column to another column

I have this:User-added imageNow,i want this:User-added imageplz explain me with proper code.
Best Answer chosen by Varshitha K
Pankaj_GanwaniPankaj_Ganwani
Hi,
 
Controller:

public class detailedcontroller {

public lightforce1989__Metric__c mb{get;set;}
public boolean saveMethodCalled{ get; set; }
public string freq{get;set;}



public List<Metric__c> mlist{get;set;}
public List<Evaluation_by_metric__c> metlist{get;set;}

    public detailedcontroller(ApexPages.StandardController controller) {
        this.mb=(lightforce1989__Metric__c)controller.getRecord();
     }

  public class RecordWrapper

{

    public String nameValue {get;private set;}

    public Decimal genericValue {get; private set;}

    public String dataType      {get; private set;}

     

    public RecordWrapper(String nameValue, Decimal genericValue, String dataType)

    {

         this.nameValue = nameValue;

         this.genericValue = genericValue;

         this.dataType = dataType;

    }

}

  //public lightforce1989__Evaluation_by_metric__c evm{get;set;}


  public  List<selectoption>  getfrequencylist()
 {    
   List<selectoption> fq=new List<selectoption>(); 
        Schema.DescribeFieldResult fieldRest = lightforce1989__Evaluation_by_metric__c.lightforce1989__Frequency__c.getDescribe();   
        List<Schema.picklistEntry> ple = fieldRest.getPicklistValues();   
        for(Schema.picklistEntry f:ple)   
        {   
            fq.add(new selectOption(f.getLabel(),f.getValue()));                   
        }   
        return fq;
}


public void save(){}

public List<RecordWrapper> getRecordWrapperRecords()

{

    List<RecordWrapper> lstRecordWrapper = new List<RecordWrapper>();

    mlist=[select Id, Name, Metric_description__c,Metric_board__c from Metric__c where Metric_board__c=: mb.Metric_board__c];

  

    for(Evaluation_by_metric__c obj : [select id,Monthly__c,name,lightforce1989__Actual_currency__c,lightforce1989__Actual_percent__c,lightforce1989__Actual_number__c,lightforce1989__Generic_del_del__c from Evaluation_by_metric__c where Metric__c in:mlist])

    {

         if(obj.lightforce1989__Actual_currency__c!=null)

            lstRecordWrapper.add(new RecordWrapper(obj.name, obj.lightforce1989__Actual_currency__c, 'Currency'));

        else if(obj.Actual_percent__c!=null)

            lstRecordWrapper.add(new RecordWrapper(obj.name, obj.Actual_percent__c, 'Percent'));

       else if(obj.lightforce1989__Actual_number__c!=null)

            lstRecordWrapper.add(new RecordWrapper(obj.name, obj.lightforce1989__Actual_number__c, 'Number'));

    }

   

    return lstRecordWrapper; 

   

}

  
  
  
 // savemethodcalled=true;
    
/*
 system.debug('@@@@@@@@@'+mb.lightforce1989__Metric_board__c);
 pagereference pg=new pagereference ('/'+mb.lightforce1989__Metric_board__c);
 pg.setRedirect(true);
 return pg;  */

 Public List<lightforce1989__Metric_board__c> getgreeting()
 {
  List<lightforce1989__Metric_board__c> lis=[select name from lightforce1989__Metric_board__c where id=:mb.lightforce1989__Metric_board__c];
  return lis;
 }

   
}

vf page
 
<apex:page sidebar="false" standardController="Metric__c" extensions="detailedcontroller">

<apex:form >
  <apex:pageBlock >
 
  <apex:pageBlockSection title="Detailed summary" collapsible="false">
  <apex:inputField label="Metric board" value="{!Metric__c.Metric_board__c}"/> <p/> 
  
  <apex:selectList label="Frequency" multiselect="false" value="{!freq}" size="1" >
            <apex:selectOptions value="{!frequencylist}"/>  
        </apex:selectlist><p/>
       
   <apex:commandButton value="process selected"  action="{!save}"/>  
  </apex:pageBlockSection>

<div style="float:left;">




  <div style="float:left;height:300px">
  <apex:pageBlockTable value="{!check}" var="e" >
  
  <apex:pageBlockTable value="{!RecordWrapperRecords}" var="e" >  

  <apex:column>

    <apex:facet name="header">Name</apex:facet>

    {!e.nameValue}

  </apex:column>

  <apex:column>

    <apex:facet name="header">Generic</apex:facet>

      <apex:outputPanel rendered={!e.dataType == 'Currency'}>

        <apex:outputText value={0,number,currency}>

            <apex:param value="{!e.lightforce1989__Actual_currency__c}"/>

        </apex:outputText>

      </apex:outputPanel>

       

      <apex:outputPanel rendered={!e.dataType == 'Percent'}>

        <apex:outputText value={0,number,0}%>

            <apex:param value="{!e.Actual_percent__c}"/>

        </apex:outputText>

      </apex:outputPanel>

       

      <apex:outputPanel rendered={!e.dataType == 'Number'}>

        <apex:outputText value="{!e.lightforce1989__Actual_number__c}"/>

      </apex:outputPanel>

  </apex:column>

    

  
  
 </div>

</div> 
  
  
  </apex:pageBlock>
</apex:form>  
</apex:page>

 

All Answers

Rajiv Bhatt 16Rajiv Bhatt 16
please share the vf page and controller code as well so that we can help you with this.
Varshitha KVarshitha K
<apex:page sidebar="false" standardController="Metric__c" extensions="detailedcontroller">

<apex:form >
  <apex:pageBlock >
 
  <apex:pageBlockSection title="Detailed summary" collapsible="false">
  <apex:inputField label="Metric board" value="{!Metric__c.Metric_board__c}"/> <p/> 
  
  <apex:selectList label="Frequency" multiselect="false" value="{!freq}" size="1" >
            <apex:selectOptions value="{!frequencylist}"/>  
        </apex:selectlist><p/>
       
   <apex:commandButton value="process selected"  action="{!save}"/>  
  </apex:pageBlockSection>

<div style="float:left;">




  <div style="float:left;height:300px">
  <apex:pageBlockTable value="{!check}" var="e" >
  
  <apex:column value="{!e.name}"/>
   <apex:column value="{!e.Generic_del_del__c}"/>
   
   
     
<apex:column value="{!e.lightforce1989__Actual_currency__c }"  />
  <apex:column value="{!e.Actual_percent__c}"/>
  <apex:column value="{!e.lightforce1989__Actual_number__c }"/>
  </apex:pageBlockTable>
  
  
 </div>

</div> 
  
  
  </apex:pageBlock>
</apex:form>  
</apex:page>



------------------------------------------------------------------------------
public class detailedcontroller {

public lightforce1989__Metric__c mb{get;set;}
public boolean saveMethodCalled{ get; set; }
public string freq{get;set;}



public List<Metric__c> mlist{get;set;}
public List<Evaluation_by_metric__c> metlist{get;set;}

    public detailedcontroller(ApexPages.StandardController controller) {
        this.mb=(lightforce1989__Metric__c)controller.getRecord();
     }

 
  //public lightforce1989__Evaluation_by_metric__c evm{get;set;}


  public  List<selectoption>  getfrequencylist()
 {    
   List<selectoption> fq=new List<selectoption>(); 
        Schema.DescribeFieldResult fieldRest = lightforce1989__Evaluation_by_metric__c.lightforce1989__Frequency__c.getDescribe();   
        List<Schema.picklistEntry> ple = fieldRest.getPicklistValues();   
        for(Schema.picklistEntry f:ple)   
        {   
            fq.add(new selectOption(f.getLabel(),f.getValue()));                   
        }   
        return fq;
}


public void save(){}

public List<Evaluation_by_metric__c> getcheck()
{
    mlist=[select Id, Name, Metric_description__c,Metric_board__c from Metric__c where Metric_board__c=: mb.Metric_board__c];
 
    metList=[select id,Monthly__c,name,lightforce1989__Actual_currency__c,lightforce1989__Actual_percent__c,lightforce1989__Actual_number__c,lightforce1989__Generic_del_del__c from Evaluation_by_metric__c where Metric__c in:mlist ];
  
    return metList;  

  
}
  
  
  
 // savemethodcalled=true;
    
/*
 system.debug('@@@@@@@@@'+mb.lightforce1989__Metric_board__c);
 pagereference pg=new pagereference ('/'+mb.lightforce1989__Metric_board__c);
 pg.setRedirect(true);
 return pg;  */

 Public List<lightforce1989__Metric_board__c> getgreeting()
 {
  List<lightforce1989__Metric_board__c> lis=[select name from lightforce1989__Metric_board__c where id=:mb.lightforce1989__Metric_board__c];
  return lis;
 }

   
}
Rajiv Bhatt 16Rajiv Bhatt 16
In your VF page where the three columns are displayed: 

<apex:column value="{!e.lightforce1989__Actual_currency__c }"  />
  <apex:column value="{!e.Actual_percent__c}"/>
  <apex:column value="{!e.lightforce1989__Actual_number__c }"/>

replace that with just on column and use if condition in value attribute to display either of the three values which are non null
Pankaj_GanwaniPankaj_Ganwani
Hi,

Please check below mentioned code and let us know if this makes sense to you:
 
Controller

public class RecordWrapper
{
    public String nameValue {get;private set;}
	public Decimal genericValue {get; private set;}
	public String dataType		{get; private set;}
	
	public RecordWrapper(String nameValue, Decimal genericValue, String dataType)
	{
	     this.nameValue = nameValue;
		 this.genericValue = genericValue;
		 this.dataType = dataType;
	}
}

public List<RecordWrapper> getRecordWrapperRecords()
{
    List<RecordWrapper> lstRecordWrapper = new List<RecordWrapper>();
	mlist=[select Id, Name, Metric_description__c,Metric_board__c from Metric__c where Metric_board__c=: mb.Metric_board__c];
 
    for(Evaluation_by_metric__c obj : [select id,Monthly__c,name,lightforce1989__Actual_currency__c,lightforce1989__Actual_percent__c,lightforce1989__Actual_number__c,lightforce1989__Generic_del_del__c from Evaluation_by_metric__c where Metric__c in:mlist])
	{
	     if(obj.lightforce1989__Actual_currency__c!=null)
		    lstRecordWrapper.add(new RecordWrapper(obj.name, obj.lightforce1989__Actual_currency__c, 'Currency'));
		else if(obj.Actual_percent__c!=null)
			lstRecordWrapper.add(new RecordWrapper(obj.name, obj.Actual_percent__c, 'Percent'));
		else if(obj.lightforce1989__Actual_number__c!=null)
			lstRecordWrapper.add(new RecordWrapper(obj.name, obj.lightforce1989__Actual_number__c, 'Number'));
	}
  
    return lstRecordWrapper;  
  
}

VF page:

<apex:pageBlockTable value="{!RecordWrapperRecords}" var="e" >
  
  <apex:column>
	<apex:facet name="header">Name</apex:facet>
	{!e.nameValue}
  </apex:column>
  <apex:column>
	<apex:facet name="header">Generic</apex:facet>
	  <apex:outputPanel rendered={!e.dataType == 'Currency'}>
		<apex:outputText value={0,number,currency}>
			<apex:param value="{!e.lightforce1989__Actual_currency__c}"/>
		</apex:outputText>
	  </apex:outputPanel>
	  
	  <apex:outputPanel rendered={!e.dataType == 'Percent'}>
		<apex:outputText value={0,number,0}%>
			<apex:param value="{!e.Actual_percent__c}"/>
		</apex:outputText>
	  </apex:outputPanel>
	  
	  <apex:outputPanel rendered={!e.dataType == 'Number'}>
		<apex:outputText value="{!e.lightforce1989__Actual_number__c}"/>
	  </apex:outputPanel>
  </apex:column>
   
</apex:pageBlockTable>

I made some corrections in your code and made the usage of wrapper class in it. 
Varshitha KVarshitha K
@PANKAJ:I am getting the following error:Error: RecordWrapper Compile Error: unexpected token: public at line 17,column 0.Plz let me know how to resolve the error with proper correction in the code.
Pankaj_GanwaniPankaj_Ganwani
Hi,

Have you declared the wrapper class? Can you please share your complete code here?
Varshitha KVarshitha K
I tried to execute your code.I got that error.plz resolve it.I have already mentioned my code above.
Pankaj_GanwaniPankaj_Ganwani
Hi,

I made some modifications only in getcheck() only and place the wrapper class there. Rest of the code would be the same like variable declaration etc.

It seems the issue you are facing belongs to syntax error. Please check within the controller if you are missing anything.

 
Varshitha KVarshitha K
I dont know proper usage of wrapper class and its declaration,Can you plz integrate my code and your code and send the entire compiled code?It would be of great help for me.Thanks in advance.
Pankaj_GanwaniPankaj_Ganwani
Hi,
 
Controller:

public class detailedcontroller {

public lightforce1989__Metric__c mb{get;set;}
public boolean saveMethodCalled{ get; set; }
public string freq{get;set;}



public List<Metric__c> mlist{get;set;}
public List<Evaluation_by_metric__c> metlist{get;set;}

    public detailedcontroller(ApexPages.StandardController controller) {
        this.mb=(lightforce1989__Metric__c)controller.getRecord();
     }

  public class RecordWrapper

{

    public String nameValue {get;private set;}

    public Decimal genericValue {get; private set;}

    public String dataType      {get; private set;}

     

    public RecordWrapper(String nameValue, Decimal genericValue, String dataType)

    {

         this.nameValue = nameValue;

         this.genericValue = genericValue;

         this.dataType = dataType;

    }

}

  //public lightforce1989__Evaluation_by_metric__c evm{get;set;}


  public  List<selectoption>  getfrequencylist()
 {    
   List<selectoption> fq=new List<selectoption>(); 
        Schema.DescribeFieldResult fieldRest = lightforce1989__Evaluation_by_metric__c.lightforce1989__Frequency__c.getDescribe();   
        List<Schema.picklistEntry> ple = fieldRest.getPicklistValues();   
        for(Schema.picklistEntry f:ple)   
        {   
            fq.add(new selectOption(f.getLabel(),f.getValue()));                   
        }   
        return fq;
}


public void save(){}

public List<RecordWrapper> getRecordWrapperRecords()

{

    List<RecordWrapper> lstRecordWrapper = new List<RecordWrapper>();

    mlist=[select Id, Name, Metric_description__c,Metric_board__c from Metric__c where Metric_board__c=: mb.Metric_board__c];

  

    for(Evaluation_by_metric__c obj : [select id,Monthly__c,name,lightforce1989__Actual_currency__c,lightforce1989__Actual_percent__c,lightforce1989__Actual_number__c,lightforce1989__Generic_del_del__c from Evaluation_by_metric__c where Metric__c in:mlist])

    {

         if(obj.lightforce1989__Actual_currency__c!=null)

            lstRecordWrapper.add(new RecordWrapper(obj.name, obj.lightforce1989__Actual_currency__c, 'Currency'));

        else if(obj.Actual_percent__c!=null)

            lstRecordWrapper.add(new RecordWrapper(obj.name, obj.Actual_percent__c, 'Percent'));

       else if(obj.lightforce1989__Actual_number__c!=null)

            lstRecordWrapper.add(new RecordWrapper(obj.name, obj.lightforce1989__Actual_number__c, 'Number'));

    }

   

    return lstRecordWrapper; 

   

}

  
  
  
 // savemethodcalled=true;
    
/*
 system.debug('@@@@@@@@@'+mb.lightforce1989__Metric_board__c);
 pagereference pg=new pagereference ('/'+mb.lightforce1989__Metric_board__c);
 pg.setRedirect(true);
 return pg;  */

 Public List<lightforce1989__Metric_board__c> getgreeting()
 {
  List<lightforce1989__Metric_board__c> lis=[select name from lightforce1989__Metric_board__c where id=:mb.lightforce1989__Metric_board__c];
  return lis;
 }

   
}

vf page
 
<apex:page sidebar="false" standardController="Metric__c" extensions="detailedcontroller">

<apex:form >
  <apex:pageBlock >
 
  <apex:pageBlockSection title="Detailed summary" collapsible="false">
  <apex:inputField label="Metric board" value="{!Metric__c.Metric_board__c}"/> <p/> 
  
  <apex:selectList label="Frequency" multiselect="false" value="{!freq}" size="1" >
            <apex:selectOptions value="{!frequencylist}"/>  
        </apex:selectlist><p/>
       
   <apex:commandButton value="process selected"  action="{!save}"/>  
  </apex:pageBlockSection>

<div style="float:left;">




  <div style="float:left;height:300px">
  <apex:pageBlockTable value="{!check}" var="e" >
  
  <apex:pageBlockTable value="{!RecordWrapperRecords}" var="e" >  

  <apex:column>

    <apex:facet name="header">Name</apex:facet>

    {!e.nameValue}

  </apex:column>

  <apex:column>

    <apex:facet name="header">Generic</apex:facet>

      <apex:outputPanel rendered={!e.dataType == 'Currency'}>

        <apex:outputText value={0,number,currency}>

            <apex:param value="{!e.lightforce1989__Actual_currency__c}"/>

        </apex:outputText>

      </apex:outputPanel>

       

      <apex:outputPanel rendered={!e.dataType == 'Percent'}>

        <apex:outputText value={0,number,0}%>

            <apex:param value="{!e.Actual_percent__c}"/>

        </apex:outputText>

      </apex:outputPanel>

       

      <apex:outputPanel rendered={!e.dataType == 'Number'}>

        <apex:outputText value="{!e.lightforce1989__Actual_number__c}"/>

      </apex:outputPanel>

  </apex:column>

    

  
  
 </div>

</div> 
  
  
  </apex:pageBlock>
</apex:form>  
</apex:page>

 
This was selected as the best answer
Varshitha KVarshitha K
still,i am getting this error:Unknown property 'lightforce1989.detailedcontroll.RecordWrapper.lightforce1989__Actual_currency_
Varshitha KVarshitha K
it is not entering into for loop .I couldnt understand how to resolve this error.
Pankaj_GanwaniPankaj_Ganwani
Hi,

Sorry, There was a miss from my end. Please add below mentioned line at 42, 54 and 64:
<apex:param value="{!e.genericValue }"/>
Varshitha KVarshitha K
thanks a lot,now it's working absolutely fine.