【问题标题】:Apex:Datalist showing empty resultsApex:Datalist 显示空结果
【发布时间】:2012-08-23 12:38:55
【问题描述】:

我正在尝试在 datalist 中显示自定义对象的行列表。

当我在一个普通对象上尝试这个时,它似乎可以工作,这很奇怪。

控制器

     List<Account> accounts;
     public List<Account> getAccounts() {
        if(accounts == null) accounts = [select id from Account limit 10];
        return accounts;
     }

视觉力量

     <apex:dataList value="{!accounts}" var="account" id="theList">
        <apex:outputText value="{!account.id}"/> 
     </apex:dataList>

这就像以前一样工作,它显示所有帐户的 ID。当我使用自定义对象时,我得到一个空的项目符号列表。喜欢:

这有正确数量的子弹(有 3 个项目)。

我的控制器现在是这个

     List<AttributeMeetingroomAssociation__c> accounts;
     public List<AttributeMeetingroomAssociation__c> getAccounts() {
        if(accounts == null) accounts = [select id from AttributeMeetingroomAssociation__c limit 10];
        return accounts;

     }

[select id from AttributeMeetingroomAssociation__c limit 10] 在 salesforce.schema 中使用时给出 3 个正确结果

谁有解决这个问题的办法?

【问题讨论】:

  • 您是否尝试显示不是 id 而是例如 CreatedDate 或 Name?结果一样吗?
  • 是的,太奇怪了,结果一模一样。
  • 我会说这是您个人资料的自定义对象设置。读/写?
  • 你知道如何在我的个人资料中设置这些自定义对象设置吗?
  • 转到设置 > 管理用户 > 配置文件。在那里单击您要编辑的配置文件。检查“自定义对象权限”:您的对象 -> 选择查看全部。然后检查“自定义字段级安全性”:您的对象 -> 视图 - 这些字段必须是可见的而不是只读的。

标签: apex-code visualforce force.com


【解决方案1】:

您将需要使用&lt;apex:column&gt; 标记来显示结果。例如:

<apex:dataTable value="{!opportunities}" var="o">
    <apex:column>
        <apex:outputText value="{!o.Name}"/>
    </apex:column>
</apex:dataTable>

如果没有apex:column,则不会显示任何数据。

【讨论】:

  • 我希望显示数据列表,而不是数据表。
【解决方案2】:

如果您在开发站点,请在现场检查您的 FLS(现场级别安全)。转到设置 > 开发 > 站点 > 站点标签 > 公共访问设置 > 滚动到自定义字段级别安全性 > 对象名称 [查看] > 编辑。检查他们应该有权访问的所有字段的“可见”标记并保存。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-26
    • 1970-01-01
    • 2017-09-28
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多