【问题标题】:Not able to show related records无法显示相关记录
【发布时间】:2017-11-28 09:30:51
【问题描述】:

我有两个自定义对象,X 和 Y。

对象 Y 通过查找 YretatedX__c 与 X 相关。

我正在尝试用视觉力显示与 X 的 X y 标准页面相关的所有 Y。

视觉力量:

<apex:page standardController="X__c" extensions="related_list">
    <apex:detail relatedList="true">
        <apex:relatedList list="Y__c" subject="{!AllRelated}"/> 
    </apex:detail>
</apex:page>

Apex 类:

public class related_list {
    private X__c x;
    private Id idX;
    public List<Y__c> AllRelated = new Y__c[]{};
    public related_list(ApexPages.StandardController controller) {
        this.x=(X__c)controller.getRecord();
        idX = this.x.Id;
    }
    public List<Y__c> getAllRelated() {
        AllRelated = [SELECT id FROM Y__c WHERE YretatedX__c =: this.idX];
        return AllRelated;
    }
} 

在X页面中,visualforce只显示:

参数“id”的参数值“[a120E0000001234567, a120E0000007654321]”无效

此 ID 对关联到此 X 对象的 Y 对象有效

我尝试了很多,但我可以找到解决方案。

【问题讨论】:

    标签: salesforce apex-code visualforce apex


    【解决方案1】:

    我认为您不了解 Visualforce 中 apex:relatedList 组件的属性。

    参考这个:

    https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_compref_relatedList.htm

    请注意,您实际上并不需要查询记录以将它们与组件一起显示。

    你只需要这个:

    &lt;apex:relatedList list="Contacts"/&gt;

    1. 您需要为list 属性指定关系名称
    2. 您无需指定主题(主题是您尝试显示的列表的父记录),因为这将由标准控制器自动填充

    希望对您有所帮助。

    【讨论】:

    • 谢谢,但我需要进行查询,因为我必须创建更多过滤器,而不是所有相关的。但一开始,如果没有更多过滤器,我无法做到这一点
    【解决方案2】:

    我找到了使用 的解决方案

    <apex:page standardController="X__c" extensions="related_list">
        <apex:pageblock id="CustomList" title="Y"  >
            <apex:pageBlockTable value="{!AllRelated}" var="y" rendered="true">
                    <apex:column value="{!y.id}"/>
            </apex:pageBlockTable>
        </apex:pageblock>
    </apex:page>
    

    【讨论】:

      猜你喜欢
      • 2019-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-30
      • 2020-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多