Explore Courses Blog Tutorials Interview Questions
0 votes
in Salesforce by (11.9k points)

I am a newbie in this field. First time trying to code a VisualForce page.

I have created a custom object named 'Order'. Added one custom field named 'Account' which is referencing to an account object. I would like to override the default New button with my own VF page.

This is my controller code:

public class orderExtension {

  private final Order__c order;

  public orderExtension (ApexPages.StandardController stdController) {

    order = (Order__c) stdController.getRecord();



This is my VF page code:

<apex:page standardController="Order__c" extensions="orderExtension">

<apex:sectionHeader title="Order Edit" subtitle="New Order"/>

<apex:form >

    <apex:pageBlock title="Order Edit" mode="edit">

        <apex:pageBlockButtons >

            <apex:commandButton value="Save and Add Products" action="{!save}"/>

            <apex:commandButton value="Cancel" action="{!cancel}"/>


        <apex:pageBlockSection title="Order Information" columns="2">

            <apex:inputField label="Account" value="????"/>





Could you please assist me with the inputField? Code samples will be appreciated.

1 Answer

0 votes
by (32.1k points)
edited by

It's quite simple :)

<apex:inputField value="{!Order__c.Account__c}"/>

But maybe better will be to modify it a bit. Change the definition of order variable in apex to this:

public Order__c order {get;set;}

I'm not sure why you marked it as private (= can't be changed from Visualforce) and final (used rather in places where you don't want to change something at all).

And then in Visualforce, you can refer to it like that:

<apex:inputField value="{!order.Account__c}"/>

Check out this Salesforce course to enhance your career! 

Browse Categories