新自定义对象的VisualForce页面

时间:2014-02-01 15:35:58

标签: salesforce apex-code visualforce

我是这个领域的新手。第一次尝试编写VisualForce页面。

我创建了一个名为'Order'的自定义对象。添加了一个名为“帐户”的自定义字段,该字段引用了帐户对象。 我想用我自己的VF页面覆盖默认的New按钮。

这是我的控制器代码:

public class orderExtension {

  private final Order__c order;

  public orderExtension (ApexPages.StandardController stdController) {
    order = (Order__c) stdController.getRecord();
  }
}

这是我的VF页面代码:

<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:pageBlockButtons>
        <apex:pageBlockSection title="Order Information" columns="2">
            <apex:inputField label="Account" value="????"/>
        </apex:pageBlockSection>
    </apex:pageBlock>
</apex:form>
</apex:page>

你能帮我一下inputField吗?代码示例将不胜感激。

谢谢, Liora

1 个答案:

答案 0 :(得分:3)

这很简单:)

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

但也许更好的是修改它。将顶点中order变量的定义更改为:

public Order__c order {get;set;}

我不确定为什么你将它标记为私有(=无法从Visualforce更改)和final(在您根本不想改变某些内容的地方使用)。

然后在Visualforce中你可以像这样引用它:

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