帐户的标准控制器空结果

standardController empty results for accounts

我正在做一个关于 standardController 的教程,但是我用预览按钮得到了空的账户结果:

<apex:page standardController="Account" recordSetVar="accounts"  sidebar="false">
  <apex:pageBlock>
    <apex:pageBlockTable value="{!accounts}" var="a">
      <apex:column value="{!a.name}"/>
    </apex:pageBlockTable>
  </apex:pageBlock>
</apex:page>

但我确实有记录:

select id, name, industry from Account 
where name != null
and  industry  != null
limit 10

这是空的,所以我没有没有名字的账户

select id, name, industry from Account where name = null

鉴于字段名称存在于两个对象中,我对联系人进行了同样的尝试,只是将控制器更改为

standardController="Contact" 

有什么想法吗?

编辑:只是为了好玩,现在我尝试了

standardController="Opportunity"

顺便说一句,帐户教程是这样的:https://trailhead.salesforce.com/content/learn/modules/visualforce_fundamentals/visualforce_standard_list_controllers

这个有一个非常相似的代码,用于帐户:https://www.youtube.com/watch?v=3NwiOqKLXQQ

StandardSetController 默认显示您最后选择的列表视图。如果您的列表视图具有愚蠢的条件,或者它是“最近查看的”并且您最近没有点击任何内容 - 是的,就是这样,空列表。

  1. 将列表视图更改为所有帐户并重新加载您的页面。
  2. 或在构造函数中调用 ssc.setFilterId() 以强制使用特定的列表视图。 (我看到你到目前为止只有纯视觉力量,没有 Apex)
  3. 我认为如果传入 URL &fcf=listviewidhere 可以达到相同的效果,类似于列表视图在 Classic 中的工作方式。虽然已经有一段时间了,但它不是官方方法,您应该使用 setFilterId
  4. 或者完全根据您想要的查询结果构建 StandardSetController。 (合并this with \[SELECT...\].getQuery())