代码之家  ›  专栏  ›  技术社区  ›  Pestana

无法显示相关记录

  •  0
  • Pestana  · 技术社区  · 7 年前

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

    通过查找YretatedX\uu c,对象Y与X相关。

    我试图用视觉力来展示所有与X相关的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对象有效

    我试了很多,但我能找到解决办法。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Tiaan Swart    7 年前

    我认为你不理解 apex:relatedList Visualforce中的组件。

    请参阅:

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

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

    您所需要的就是:

    <apex:relatedList list="Contacts"/>

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

    希望这有帮助。

        2
  •  0
  •   Pestana    7 年前

    我使用<apex:pageBlockTable而不是<apex:关联列表

    <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>