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
Mohit KapoorMohit Kapoor 

Converting between input field and output field

<apex:page standardController="BCG_Project__c" extensions="VisualForce_Embedded_Save_Fix" standardStylesheets="false" >
    <style>
    .budgetTable {border-collapse:collapse;font-size: 11px;border:1px solid #000;cursor:default;}
    .budgetTable td {padding:2px;border-left:1px solid #000;border-right:1px solid #000;}
    .budgetTable tr {border-bottom:1px dotted #DDD;}
    .budgetTable input {text-align:right;width:75px;font-size: 11px;}
    .headers {text-align:center;font-weight:bold;border-bottom:1px solid #000 !important;font-size:10px;background-color:#b0d4fc;}
    .total {background-color:#DDD; text-align:right; font-weight:bold; font-size: 13px;}
    .budgetTable th {font-size:12px;}
    .budgetTable tr > td:first-child { 
        text-align:right;
        font-size:11px;
        font-weight:bold;
        width:150px;
    }
    
    .item {text-align:right;}
    .item:hover {background-color:#fefdca;}
    
    .saving {margin-left:100px;position:absolute;float:left;color:red;font-size:14px;font-weight:bold;}
    </style>


    <div class="saving">
        <apex:actionStatus id="test">
           <apex:facet name="start">
           <apex:actionSupport event="onchange" reRender="budgetPanel">
                SAVING
                </apex:actionsupport>
                </apex:facet>
           <apex:facet name="stop">
                
           </apex:facet>
          </apex:actionStatus>
                </div>
        
        <div id="budget">
         <apex:outputPanel id="datePanelContainer">
        <apex:outputPanel id="budgetPanel">
        
            <apex:form id="theForm">     
            
            <center>
            
            <b>Budget Date</b>: &nbsp;  <apex:inputField value="{!BCG_Project__c.Budget_Date__c}" />
                    &nbsp; &nbsp;
            
            <apex:commandButton action="{!save}" value="Save Budget Changes" reRender="datePanelContainer"  status="test" /> 
                    &nbsp; &nbsp; 
            <b>Budget Status</b>:  <apex:selectList value="{!BCG_Project__c.Budget_Status__c}" size="1" multiselect="false" >
                                        <apex:selectOption itemLabel="Pending" itemValue="Pending" />
                                        <apex:selectOption itemLabel="Approved" itemValue="Approved" />                                        
                                    </apex:selectList>
                    &nbsp; &nbsp; 
            <b>Local Currency</b>: <apex:inputField value="{!BCG_Project__c.Local_Currency__c}" />
                                &nbsp; &nbsp; 
            <b>Exchange Rate</b>: <apex:outputField value="{!BCG_Project__c.Exchange_Rate__c}" />
            </center>
                    <br />
                    
                    <table class="budgetTable">
                    <!-- <tr><th></th></tr> -->
                    <tr class="headers">
                        <td>Budget Items</td>
                        <td>EC Approved</td>
                        <td>EC Approved USD</td>
                        <td>Contract Amount</td>
                        <td>Contract % of Approved</td>
                        <td>Approved <br /> Change Order</td>
                        <td>Pending <br /> Change Order</td>
                        <td>Total Cost</td>
                        <td>Total Cost Δ (Prior Month)</td>
                        <td>Total Cost % of Approved</td>
                        <td>Total Invoiced</td>
                        <td>Invoiced % of Approved</td>
                        <td>Add. Budget <br /> Approved</td>                        
                        <td>Total Cost % of Final App. Budget</td>                        
                        </tr>
                    <tr class="item"><td>Design</td>
                        <td><apex:inputField value="{!BCG_Project__c.EC_Approved_Design__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Pending'}" />
                            <apex:outputField value="{!BCG_Project__c.EC_Approved_Design__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Approved'}" />
                        </td>
                        <td><apex:outputField value="{!BCG_Project__c.Design_EC_Approved_USD__c}" />
                        </td>
                        <td><apex:inputField value="{!BCG_Project__c.Contract_Amount_Design__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Pending'}"/>
                            <apex:outputField value="{!BCG_Project__c.Contract_Amount_Design__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Approved'}" />                        
                        </td>
                        <td><apex:outputField value="{!BCG_Project__c.Design_Contract_of_Approved__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Design_CO_Approved__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Design_CO_Pending__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Design_Total_Cost__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Design_Cost_from_Prior_Month__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Design_Total_Cost_of_Appd__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Design_Total_Invoiced__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Design_Invoiced_of_Appd__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Design_Add_Budget_Appd__c}" /> </td>
                        <td><apex:inputField value="{!BCG_Project__c.Design_Cost_of_Final_Appd__c}" /> </td>
                        </tr>
                    <tr class="item"><td>Construction</td>
                        <td><apex:inputField value="{!BCG_Project__c.EC_Approved_Construction__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Pending'}" />
                            <apex:outputField value="{!BCG_Project__c.EC_Approved_Construction__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Approved'}" />
                        </td>
                        <td><apex:outputField value="{!BCG_Project__c.Construction_EC_Approved_USD__c}" />
                        </td>
                        <td><apex:inputField value="{!BCG_Project__c.Contract_Amount_Construction__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Pending'}" />
                            <apex:outputField value="{!BCG_Project__c.Contract_Amount_Construction__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Approved'}" />
                        </td>
                        <td><apex:outputField value="{!BCG_Project__c.Construction_Contract_of_Approved__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Construction_CO_Approved__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Construction_CO_Pending__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Construction_Total_Cost__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Construction_Cost_from_Prior_Month__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Construction_Total_Cost_of_Appd__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Construction_Total_Invoiced__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Construction_Invoiced_of_Appd__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Construction_Add_Budget_Appd__c}" /> </td>
                        <td><apex:inputField value="{!BCG_Project__c.Construction_Cost_of_Final_Appd__c}" /> </td>
                         </tr>
                    
                    <tr class="item"><td>Expense <font style="font-size:9px;">(Non-Capex)</font> Items</td>
                        <td><apex:inputField value="{!BCG_Project__c.EC_Approved_Expense_Items__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Pending'}"/>
                            <apex:outputField value="{!BCG_Project__c.EC_Approved_Expense_Items__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Approved'}"/>
                        </td>
                        <td><apex:outputField value="{!BCG_Project__c.Expense_Items_EC_Approved_USD__c}" />
                        </td>                        
                        <td><apex:inputField value="{!BCG_Project__c.Contract_Amount_Expense_Items__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Pending'}"/>
                            <apex:outputField value="{!BCG_Project__c.Contract_Amount_Expense_Items__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Approved'}"/>
                        </td>
                        <td><apex:outputField value="{!BCG_Project__c.Expense_Items_Contract_of_Approved__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Expense_Items_CO_Approved__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Expense_Items_CO_Pending__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Expense_Items_Total_Cost__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Expense_Item_Cost_from_Prior_Month__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Expense_Items_Total_Cost_of_Appd__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Expense_Items_Total_Invoiced__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Expense_Items_Invoiced_of_Appd__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Expense_Items_Add_Budget_Appd__c}" /> </td>
                        <td><apex:inputField value="{!BCG_Project__c.Expense_Items_Cost_of_Final_Appd__c}" /> </td>
                        </tr>
                    <tr class="total"><td>Project Subtotal</td>
                        <td><apex:outputField value="{!BCG_Project__c.EC_Approved_Project_Subtotal__c}"/></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Subtotal_EC_Approved_USD__c}" /></td>                        
                        <td><apex:outputField value="{!BCG_Project__c.Contract_Amount_Project_Subtotal__c}"/></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Subtotal_Contract_of_Approved__c}" /></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Subtotal_CO_Approved__c}" /></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Subtotal_CO_Pending__c}" /></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Subtotal_Total_Cost__c}" /></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Subtotal_Cost_from_Prior_Month__c}" /></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Subtotal_Total_Cost_of_Appd__c}" /></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Subtotal_Invoiced__c}" /></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Subtotal_Invoiced_of_Appd__c}" /></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Subtotal_Add_Budget_Appd__c}" /> </td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Subtotal_Cost_of_Final_Appd__c}" /> </td>
                        </tr>
                    <tr class="item"><td>Contingency</td>
                        <td><apex:inputField value="{!BCG_Project__c.EC_Approved_Contingency__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Pending'}" />
                            <apex:outputField value="{!BCG_Project__c.EC_Approved_Contingency__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Approved'}" />
                        </td>
                        <td><apex:outputField value="{!BCG_Project__c.Contingency_EC_Approved_USD__c}" />
                        </td>                        
                        <td><apex:inputField value="{!BCG_Project__c.Contract_Amount_Contingency__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Pending'}" />
                            <apex:outputField value="{!BCG_Project__c.Contract_Amount_Contingency__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Approved'}" />
                        </td>
                        <td><apex:outputField value="{!BCG_Project__c.Contingency_Contract_of_Approved__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Contingency_CO_Approved__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Contingency_CO_Pending__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Contingency_Total_Cost__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Contingency_Cost_from_Prior_Month__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Contingency_Total_Cost_of_Appd__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Contingency_Total_Invoiced__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Contingency_Invoiced_of_Appd__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.Contingency_Add_Budget_Appd__c}" /> </td>
                        <td><apex:inputField value="{!BCG_Project__c.Contingency_Cost_of_Final_Appd__c}" /> </td>
                        </tr>
                    <tr class="item"><td>IT Build-Out</td>
                        <td><apex:inputField value="{!BCG_Project__c.EC_Approved_IT_Buildout__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Pending'}" />
                            <apex:outputField value="{!BCG_Project__c.EC_Approved_IT_Buildout__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Approved'}" />
                        </td>
                        <td><apex:outputField value="{!BCG_Project__c.IT_Build_Out_EC_Approved_USD__c}" />
                        </td>                        
                        <td><apex:inputField value="{!BCG_Project__c.Contract_Amount_IT_Buildout__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Pending'}" />
                            <apex:outputField value="{!BCG_Project__c.Contract_Amount_IT_Buildout__c}" rendered="{!BCG_Project__c.Budget_Status__c == 'Approved'}" />
                        </td>
                        <td><apex:outputField value="{!BCG_Project__c.IT_Build_Out_Contract_of_Approved__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.IT_Build_Out_CO_Approved__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.IT_Build_Out_CO_Pending__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.IT_Build_Out_Total_Cost__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.IT_Build_Out_Cost_from_Prior_Month__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.IT_Build_Out_Total_Cost_of_Appd__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.IT_Build_Out_Total_Invoiced__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.IT_Build_Out_Invoiced_of_Appd__c}" /></td>
                        <td><apex:inputField value="{!BCG_Project__c.IT_Build_Out_Add_Budget_Appd__c}" /> </td>
                        <td><apex:inputField value="{!BCG_Project__c.IT_Build_Out_Cost_of_Final_Appd__c}" /> </td>
                        </tr>
                    <tr class="total">
                        <td>Project Total</td>
                        <td><apex:outputField value="{!BCG_Project__c.EC_Approved_Project_Total__c}"/></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Total_EC_Approved_USD__c}" /></td>                        
                        <td><apex:outputField value="{!BCG_Project__c.Contract_Amount_Project_Total__c}"/></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Total_Contract_of_Approved__c}" /></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Total_CO_Approved__c}" /></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Total_CO_Pending__c}" /></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Total_Cost__c}" /></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Total_Cost_from_Prior_Month__c}" /></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Total_Cost_of_Appd__c}" /></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Total_Invoiced__c}" /></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Total_Invoiced_of_Appd__c}" /></td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Total_Add_Budget_Appd__c}" /> </td>
                        <td><apex:outputField value="{!BCG_Project__c.Project_Total_Cost_of_Final_Appd__c}" /> </td>    
                        
                        </tr>
                    </table>

              </apex:form>
              </apex:outputPanel>
        </apex:outputPanel>
        </div>


</apex:page>

 When I Select Approved from picklist, it does not update the values in output fields. But when I reselect the page without refreshing, it gets the old values back, so the values are there but not updating. But this is working perfectly in salesforce.

Best Answer chosen by Mohit Kapoor
Mohit KapoorMohit Kapoor
I solved this using making Picklist value neseccary and passing my variables in controller where in thay do not get save when the value is approved,