我正在尝试在Visualforce页面的pageblocktable中显示自定义Salesforce对象的祖父母。
我可以按预期显示父级,即:
<apex:column headerValue="Related Item Parent">
<apex:outputField id="ItemParent" value="{!item.Parent__c}" />
</apex:column>
效果很好,并为我提供了一个很好的表格,其中包含一个'Related Item Parent'列,该列完全按照我的意愿链接到Item parent。
但是当我尝试进一步升级时,Visualforce Page编辑器会告诉我
无法从值绑定中解析实体 '{!item.Parent_ c.Parent _c}'。只能使用 与SObject字段。
无论如何,这可以使用吗?我有点卡住了!
以下是我的pageBlockTable的完整列表,如果删除了Related Item Grandparent列,该列表可以正常工作。
<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>
非常感谢任何人都能提供的任何帮助。
祝你好运
皮特
答案 0 :(得分:1)
引用关系对象的字段时,您需要使用__r
后缀。例如,您可以使用item.Parent__c
来引用父记录的ID,但访问该记录中的任何字段都需要item.Parent__r.Name
之类的内容。
在这种情况下,您正在寻找{!item.Parent__r.Parent__c}
(它将为您提供祖父母的Id),甚至是{!item.Parent__r.Parent__r.Name}
(如果您希望访问祖父母记录中的字段)。< / p>