Salesforce 在VF页面上显示子查询

Salesforce 在VF页面上显示子查询,salesforce,visualforce,apex,Salesforce,Visualforce,Apex,有人能帮忙吗 我有反对通知书和附件 它有一个附件,我想把它放在vf页面上 通知名称 通知说明 通知日期 与该通知记录关联的附件名称或ID 我的控制器 public class On_StudentNoticeController { public List<Notice__c> notices{get;set;} public On_StudentNoticeController (){ notices=new List<Notice__c&g

有人能帮忙吗

我有反对通知书和附件

它有一个附件,我想把它放在vf页面上

通知名称 通知说明 通知日期

与该通知记录关联的附件名称或ID

我的控制器

public class On_StudentNoticeController {
    public List<Notice__c> notices{get;set;}

    public On_StudentNoticeController (){
        notices=new List<Notice__c>();
    }

    public PageReference Onpageload() {
        notices = [SELECT Id,  Name__c, Description__c,Notice_Date__c,
            (SELECT Id, Name FROM Attachments) 
        FROM Notice__c 
        ORDER BY Notice_Date__c DESC NULLS FIRST];
    }
}
我当前问题的屏幕截图:

编辑2

看起来您正在尝试遍历空列表。你的执行顺序是错误的,你的生活过于复杂了。虽然我会说这应该是一个运行时错误,而不是编译错误,但这很有趣。也许编译器变得更聪明了

以下是代码无法工作的原因:

_StudentNoticeController上的构造函数发生火灾。它创建空列表。 页面渲染后,Visualforce将显示一个空列表。 您正在调用页面操作来填充通知列表,但为时已晚。当页面重新加载时,它们将出现在那里,但最初它将是空的。 像那样试试?我已经复制了带有附件的自定义对象的代码。您只需更改几个对象和字段名称即可:

公共类附件{ 公共列表帐户{get;private set;} 公共帐户附属设施{ accs=[选择Id、名称、LastModifiedDate、, 从附件中选择Id、名称 来自SF_应付账款 按CreatedDate排序 上限为1000]; } } .... 根据您希望输出的外观使用其中一个选项

像这样的


它给出了以下错误:未知属性“VisualForCarrayList.Name”您没有正确复制示例,很可能在中继器中,您引用的是整个数据表,比如附件,而不是当前附件中的一条记录。请查看此错误这是错误,它在Accounts对象上工作,而不是在Custom对象上。是否修复了查询?是。。如果我在VF页面上打印时在输出文本中使用{!notice.Attachments},那么它的打印id在方形背景中[]
public class On_StudentNoticeController {
    public List<Notice__c> notices{get;set;}

    public On_StudentNoticeController (){
        notices=new List<Notice__c>();
    }

    public PageReference Onpageload() {
        notices = [SELECT Id,  Name__c, Description__c,Notice_Date__c,
            (SELECT Id, Name FROM Attachments) 
        FROM Notice__c 
        ORDER BY Notice_Date__c DESC NULLS FIRST];
    }
}