0

我正在尝试在 Visualforce 页面的 pageblocktable 中显示自定义 Salesforce 对象的祖父母。

我可以按预期显示父级,即:

<apex:column headerValue="Related Item Parent">
    <apex:outputField id="ItemParent" value="{!item.Parent__c}" />
</apex:column>

效果很好,并给了我一个很好的表格,其中包含一个“相关项目父项”列,该列完全按照我的需要链接到项目父项。

但是当我尝试更上一层楼时,Visualforce 页面编辑器会告诉我

无法从值绑定“{!item.Parent_ c.Parent _c}”中解析实体。只能与 SObject 字段一起使用。

无论如何,这可以使它起作用吗?我有点卡住了!!

下面是我的 pageBlockTable 的完整列表,如果删除了相关项目祖父母列,它可以正常工作。

<apex:pageBlockTable id="RelatedItems" value="{!contact.RelatedItems__r}" var="item">

    <apex:column headerValue="Related Item Name">
        <apex:outputField id="ItemName" value="{!item.Name}" />
    </apex:column>

    <apex:column headerValue="Related Item Parent">
        <apex:outputField id="ItemParent" value="{!item.Parent__c}" />
    </apex:column>

    <apex:column headerValue="Related Item Grandparent">
        <apex:outputField id="ItemGrandParent" value="{!item.Parent__c.Parent__c}" />
    </apex:column>

</apex:pageBlockTable>

非常感谢任何人可以提供的任何帮助。

此致

皮特

4

1 回答 1

1

引用关系对象的字段时,您将需要使用__r后缀。例如,您可以使用item.Parent__c来引用父记录的 Id,但访问该记录上的任何字段都需要类似item.Parent__r.Name.

在这种情况下,您正在寻找{!item.Parent__r.Parent__c}(这将为您提供祖父母的 Id),甚至{!item.Parent__r.Parent__r.Name}(如果您希望访问祖父母记录上的字段)。

于 2012-08-21T12:39:12.547 回答