Salesforce VisualForce页面不显示记录列表或任何记录,但可以显示列表大小

Salesforce VisualForce页面不显示记录列表或任何记录,但可以显示列表大小,salesforce,visualforce,controllers,apex,Salesforce,Visualforce,Controllers,Apex,VisualForce页面未显示记录列表-标题说明了一切 如何让VF页面显示明显计数的记录(如7549记录的1-15) 看起来像这样: -“威尔斯”页 然而,这就是我们希望它看起来的样子(我们目前正在工作的那一个!): -“调制解调器”页面(我删掉了一些字段,因为我们工作的公司可能不希望披露这些信息) 我的团队正在开发salesforce.com应用程序,我们有一个对象“Modem”,它包含大约7500条记录 模式控制器 我们已经创建了一个自定义控制器,ModemController: publ

VisualForce页面未显示记录列表-标题说明了一切

如何让VF页面显示明显计数的记录(如7549记录的1-15

看起来像这样:

-“威尔斯”页

然而,这就是我们希望它看起来的样子(我们目前正在工作的那一个!):

-“调制解调器”页面(我删掉了一些字段,因为我们工作的公司可能不希望披露这些信息)

我的团队正在开发salesforce.com应用程序,我们有一个对象“Modem”,它包含大约7500条记录

模式控制器 我们已经创建了一个自定义控制器,ModemController

public class ModemController {

public apexpages.standardsetcontroller con {get;set;}
public Integer noOfRecords{get; set;}
public Integer size{get; set;}
public Modem__c modems {get; set;}

public List<Modem__c> AllSearchModems
{
    get
    {
        if (con!= null)
            return (List<Modem__c>)con.getRecords();
        else
            return null;
    }
    set;
}

public ModemController() {
    AllSearchModems = new List<Modem__c>();
    modems = new Modem__c();

    String Name = ApexPages.currentPage().getParameters().get('Name');
    List<Modem__c> modems = [SELECT Name FROM Modem__c WHERE ID= :Name];
}

public PageReference save()
{
    update modems;
    return new PageReference('/' + modems.Name);
}


public ApexPages.StandardSetController setCon {
    get{
        if(setCon == null){
            size = 15;
            string queryString = 'SELECT Name, ModemActive__c, ModemCarrier__c, ModemCarrierData__c, DataPlanName__c, ESNNumber__c, ModemICCID__c, IMEINumber__c, IMSINumber__c, ModemIPEXT__c, ModemJob__c, ModemManufacturer__c, ModemModel__c, ModemPhone__c, PortForwarding__c, ModemIPPort__c, SIMNumber__c, ModemIPSlave__c, ModemStaticIP__c, ModemFirmwareVersion__c FROM Modem__c ORDER BY Name';
            setCon = new ApexPages.StandardSetController(Database.getQueryLocator(queryString));
            setCon.setPageSize(size);
            noOfRecords = setCon.getResultSize();
        }
        return setCon;
    }
    set;
}

public List<Modem__c> getModems()
{
    List<Modem__c> modemList = new List<Modem__c>();
    for(Modem__c w : (List<Modem__c>)setCon.getRecords())
       modemList.add(w);
    return modemList;
}

public PageReference refresh() {
    setCon = null;
    getModems();
    setCon.setPageNumber(1);
    return null;
}



public PageReference Search()
{
    if (modems.Name != null)
    {
        con = new ApexPages.StandardSetController(Database.getQueryLocator([SELECT Name, ModemActive__c,ModemCarrier__c,ModemCarrierData__c,DataPlanName__c,ESNNumber__c,ModemICCID__c, IMEINumber__c,IMSINumber__c,ModemIPEXT__c,ModemJob__c, ModemManufacturer__c,ModemModel__c,ModemPhone__c, PortForwarding__c, ModemIPPort__c,SIMNumber__c,ModemIPSlave__c,ModemStaticIP__c, ModemFirmwareVersion__c FROM Modem__c  Modem__c WHERE Name= :modems.Name]));  
        con.setPageSize(10);
    }
    else
    {
        con = null;
    }
    return null;
}

public Boolean hasNext {
    get {
        return setCon.getHasNext();
    }
    set;
}
public Boolean hasPrevious {
    get {
        return setCon.getHasPrevious();
    }
    set;
}

public Integer pageNumber {
    get {
        return setCon.getPageNumber();
    }
    set;
}

public void first() {
    setCon.first();
}

public void last() {
    setCon.last();
}

public void previous() {
    setCon.previous();
}

public void next() {
    setCon.next();
}
}
公共类ModemController{
public apexpages.standardsetcontroller con{get;set;}
公共整数{get;set;}
公共整数大小{get;set;}
公共调制解调器\uuu c调制解调器{get;set;}
公共列表所有搜索调制解调器
{
收到
{
如果(con!=null)
返回(列表)con.getRecords();
其他的
返回null;
}
设置
}
公共模式控制器(){
AllSearchModems=新列表();
调制解调器=新的调制解调器_uuc();
字符串名称=ApexPages.currentPage().getParameters().get('Name');
列表调制解调器=[从调制解调器中选择名称,其中ID=:名称];
}
公共页面引用保存()
{
更新调制解调器;
返回新的页面引用('/'+modems.Name);
}
公共ApexPages.StandardSetController setCon{
得到{
如果(setCon==null){
尺寸=15;
字符串查询字符串='选择名称,ModemCarrier\uuuu c,ModemCarrier\uu c,ModemCarrierData\uu c,DataPlanName\uu c,ESNNumber\uu c,ModemCid\uu c,IMEINumber\uu c,imsNumber\uu c,ModemText\uu c,ModemJob\uu c,ModemManufacturer\uu c,ModemModelModel\uu c,ModemHone\uuu c,PortForwarding\uu c,ModemPort Simuu\uu c,ModemPu\uuuu版本号,ModemMumMu\uuu c,ModemMumMu\uc,从机__来自调制解调器的c_uuC按名称排序';
setCon=new ApexPages.StandardSetController(Database.getQueryLocator(queryString));
setCon.setPageSize(大小);
noOfRecords=setCon.getResultSize();
}
返回setCon;
}
设置
}
公共列表GetModem()
{
List modemList=新列表();
对于(调制解调器w:(列表)setCon.getRecords())
modemList.add(w);
返回模式列表;
}
公共页面引用刷新(){
setCon=null;
getModems();
setCon.setPageNumber(1);
返回null;
}
公共页面引用搜索()
{
if(modems.Name!=null)
{
con=新的ApexPages.StandardSetController(Database.getQueryLocator)([选择名称、ModeMacTiveuuuuC、Modemc承运人c、ModeMcCarrier数据uuuC、数据计划名称c、数据计划名称c、数字数字c、调制解调器c、调制解调器c、调制解调器c、数字c、调制解调器c、调制解调器访问c、调制解调器c、ModeMacTictiveuuuuuuuuuuuuuC、模式c、模式制造商c、模式模型模型制造商c、模式模式模式模型c、模型模型模型c、模式模型c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、模式工程师c、c、c\u c调制解调器\u\u c在哪里Name=:modems.Name]);
con.设置页面大小(10);
}
其他的
{
con=null;
}
返回null;
}
公共布尔hasnet{
得到{
返回setCon.getHasNext();
}
设置
}
公共布尔hasPrevious{
得到{
返回setCon.getHasPrevious();
}
设置
}
公共整数页码{
得到{
返回setCon.getPageNumber();
}
设置
}
首先公开无效(){
setCon.first();
}
公众假期最后(){
setCon.last();
}
公开作废以前的(){
setCon.previous();
}
下一个公共空间(){
setCon.next();
}
}
“Wells”页面的自定义VF页面 以下是“Wells”页面的自定义visualforce页面:


{!(pageNumber*size)+1-size}-{!如果((pageNumber*size)>noOfRecords,noOfRecords,(pageNumber*size))}的{!noOfRecords}

控制器适用于其他选项卡(请参阅“Wells”页面,它使用相同的控制器,并且可以工作!),但不适用于“Modem”页面

我们看到“调制解调器”页面至少读取了7549记录(通过查看一个可变的noOfRecords来计算有多少记录),但没有显示它们。我甚至尝试将限制添加到SOQL查询中,但没有任何效果(限制为2000、1999、1001、1000、999,甚至30、20和10)

我不认为记录的数量是个问题,我可能错了

如果有人有任何建议,将不胜感激

油井控制员 如果有人要求,以下是“Wells”页面的工作代码,包括VisualForceApex代码: 油井控制员: 公共级井控员{

public apexpages.standardsetcontroller con {get;set;}
public Integer noOfRecords{get; set;}
public Integer size{get; set;}
public Well__c wellz {get; set;}

public List<Well__c> AllSearchWells
{
    get
    {
        if (con!= null)
            return (List<Well__c>)con.getRecords();
        else
            return null;
    }
    set;
}


public WellController() {
    AllSearchWells = new List<Well__c>();
    wellz = new Well__c();

    String Name = ApexPages.currentPage().getParameters().get('Name');
    List<Well__c> wellz = [SELECT Name FROM Well__c WHERE ID = :Name];
}

public PageReference save()
{
    update wellz;
    return new PageReference('/' + wellz.Name);
}


public ApexPages.StandardSetController setCon {
    get{
        if(setCon == null){
            size = 15;
            string queryString = 'SELECT Name, WellLocActivationDate__c, Active__c, AntennaType__c, WellLocBillTo__c, CompanyName__c, CompanyName_del__c, WellLocCompanyName__c, ConnectedCarrier__c, ContactReponsible__c, DataNetwork__c, WellLocSPOCDataPlan__c, WellSiteEquipHistory__c, WellLoclPD__c, WellLocKillDate__c, ModemConnectedTo__c, Name__c, WellLocModemSerial__c, SignalQuality__c, SignalStrength__c, SimCardNumber__c, TechResponsible__c, Action__c, ActionDate__c, WellLocName__c, WellLocOwningCompanyName__c FROM Well__c ORDER BY Name';
            setCon = new ApexPages.StandardSetController(Database.getQueryLocator(queryString));
            setCon.setPageSize(size);
            noOfRecords = setCon.getResultSize();
        }
        return setCon;
    }
    set;
}

public List<Well__c> getWells()
{
    List<Well__c> wellList = new List<Well__c>();
    for(Well__c w : (List<Well__c>)setCon.getRecords())
        wellList.add(w);
    return wellList;
}

public PageReference refresh() {
    setCon = null;
    getWells();
    setCon.setPageNumber(1);
    return null;
}



public PageReference Search()
{
    if (wellz.Name != null)
    {
        con = new ApexPages.StandardSetController(Database.getQueryLocator([SELECT Name, WellLocActivationDate__c, Active__c, AntennaType__c, WellLocBillTo__c, CompanyName__c, CompanyName_del__c, WellLocCompanyName__c, ConnectedCarrier__c, ContactReponsible__c, DataNetwork__c, WellLocSPOCDataPlan__c, WellSiteEquipHistory__c, WellLoclPD__c, WellLocKillDate__c, ModemConnectedTo__c, Name__c, WellLocModemSerial__c, SignalQuality__c, SignalStrength__c, SimCardNumber__c, TechResponsible__c, Action__c, ActionDate__c, WellLocName__c, WellLocOwningCompanyName__c FROM Well__c  Well__c where Name = :wellz.Name]));  
        con.setPageSize(10);
    }
    else
    {
        con = null;
    }
    return null;
}

public Boolean hasNext {
    get {
        return setCon.getHasNext();
    }
    set;
}
public Boolean hasPrevious {
    get {
        return setCon.getHasPrevious();
    }
    set;
}

public Integer pageNumber {
    get {
        return setCon.getPageNumber();
    }
    set;
}

public PageReference make() 
{

  return Page.wellCreate;
}



public void first() {
    setCon.first();
}

public void last() {
    setCon.last();
}

public void previous() {
    setCon.previous();
}

public void next() {
    setCon.next();
}
}
public apexpages.standardsetcontroller con{get;set;}
公共整数{get;set;}
公共整数大小{get;set;}
公共井{get;set;}
所有搜索井的公开列表
{
收到
{
如果(con!=null)
返回(列表)con.getRecords();
其他的
返回null;
}
设置
}
公共油井控制员(){
AllSearchWells=新列表();
wellz=新井(c);
字符串名称=ApexPages.currentPage().getParameters().get('Name');
List wellz=[从井c中选择名称,其中ID=:名称];
}
公共页面引用保存()
{
更新wellz;
返回新的页面引用('/'+wellz.Name);
}
公共ApexPages.StandardSetController setCon{
得到{
如果(setCon==null){
尺寸=15;
字符串查询字符串='选择名称、WellLocActivationDate\uuu c、Active\uu c、天线类型\uuu c、WellLocabillto\uu c、CompanyName\uu c、CompanyName\u del\uu c,以及
public apexpages.standardsetcontroller con {get;set;}
public Integer noOfRecords{get; set;}
public Integer size{get; set;}
public Well__c wellz {get; set;}

public List<Well__c> AllSearchWells
{
    get
    {
        if (con!= null)
            return (List<Well__c>)con.getRecords();
        else
            return null;
    }
    set;
}


public WellController() {
    AllSearchWells = new List<Well__c>();
    wellz = new Well__c();

    String Name = ApexPages.currentPage().getParameters().get('Name');
    List<Well__c> wellz = [SELECT Name FROM Well__c WHERE ID = :Name];
}

public PageReference save()
{
    update wellz;
    return new PageReference('/' + wellz.Name);
}


public ApexPages.StandardSetController setCon {
    get{
        if(setCon == null){
            size = 15;
            string queryString = 'SELECT Name, WellLocActivationDate__c, Active__c, AntennaType__c, WellLocBillTo__c, CompanyName__c, CompanyName_del__c, WellLocCompanyName__c, ConnectedCarrier__c, ContactReponsible__c, DataNetwork__c, WellLocSPOCDataPlan__c, WellSiteEquipHistory__c, WellLoclPD__c, WellLocKillDate__c, ModemConnectedTo__c, Name__c, WellLocModemSerial__c, SignalQuality__c, SignalStrength__c, SimCardNumber__c, TechResponsible__c, Action__c, ActionDate__c, WellLocName__c, WellLocOwningCompanyName__c FROM Well__c ORDER BY Name';
            setCon = new ApexPages.StandardSetController(Database.getQueryLocator(queryString));
            setCon.setPageSize(size);
            noOfRecords = setCon.getResultSize();
        }
        return setCon;
    }
    set;
}

public List<Well__c> getWells()
{
    List<Well__c> wellList = new List<Well__c>();
    for(Well__c w : (List<Well__c>)setCon.getRecords())
        wellList.add(w);
    return wellList;
}

public PageReference refresh() {
    setCon = null;
    getWells();
    setCon.setPageNumber(1);
    return null;
}



public PageReference Search()
{
    if (wellz.Name != null)
    {
        con = new ApexPages.StandardSetController(Database.getQueryLocator([SELECT Name, WellLocActivationDate__c, Active__c, AntennaType__c, WellLocBillTo__c, CompanyName__c, CompanyName_del__c, WellLocCompanyName__c, ConnectedCarrier__c, ContactReponsible__c, DataNetwork__c, WellLocSPOCDataPlan__c, WellSiteEquipHistory__c, WellLoclPD__c, WellLocKillDate__c, ModemConnectedTo__c, Name__c, WellLocModemSerial__c, SignalQuality__c, SignalStrength__c, SimCardNumber__c, TechResponsible__c, Action__c, ActionDate__c, WellLocName__c, WellLocOwningCompanyName__c FROM Well__c  Well__c where Name = :wellz.Name]));  
        con.setPageSize(10);
    }
    else
    {
        con = null;
    }
    return null;
}

public Boolean hasNext {
    get {
        return setCon.getHasNext();
    }
    set;
}
public Boolean hasPrevious {
    get {
        return setCon.getHasPrevious();
    }
    set;
}

public Integer pageNumber {
    get {
        return setCon.getPageNumber();
    }
    set;
}

public PageReference make() 
{

  return Page.wellCreate;
}



public void first() {
    setCon.first();
}

public void last() {
    setCon.last();
}

public void previous() {
    setCon.previous();
}

public void next() {
    setCon.next();
}
}
<apex:page controller="WellController">
<apex:form >
    <apex:pageBlock title="Wells" id="pb">
        <apex:pageBlockSection >

        <apex:commandButton action="{!make}" value="Create New"/>

    </apex:pageBlockSection>
        <apex:pageBlockTable value="{!Wells}" var="w">
            <apex:column headerValue="Well Name">
                <apex:outputLink value="/apex/wellEdit?id={!w.id}">{!w.WellLocName__c}</apex:outputLink>
            </apex:column>
            <apex:column value="{!w.WellLocModemSerial__c}" />
            <apex:column value="{!w.WellLocCompanyName__c}" />
            <apex:column value="{!w.WellLocOwningCompanyName__c}" />
            <apex:column value="{!w.WellLocBillTo__c}" />
            <apex:column value="{!w.Active__c}" />
        </apex:pageBlockTable>
        <apex:panelGrid columns="7">
            <apex:commandButton status="fetchStatus" reRender="pb" value="|<" action="{!first}" disabled="{!!hasPrevious}" title="First Page"/>
            <apex:commandButton status="fetchStatus" reRender="pb" value="<" action="{!previous}" disabled="{!!hasPrevious}" title="Previous Page"/>
            <apex:commandButton status="fetchStatus" reRender="pb" value=">" action="{!next}" disabled="{!!hasNext}" title="Next Page"/>
            <apex:commandButton status="fetchStatus" reRender="pb" value=">|" action="{!last}" disabled="{!!hasNext}" title="Last Page"/>
            <apex:outputText >{!(pageNumber * size)+1-size}-{!IF((pageNumber * size)>noOfRecords, noOfRecords,(pageNumber * size))} of {!noOfRecords}</apex:outputText>
            <apex:commandButton status="fetchStatus" reRender="pb" value="Refresh" action="{!refresh}" title="Refresh Page"/>
            <apex:outputPanel style="color:#4AA02C;font-weight:bold">
            <apex:actionStatus id="fetchStatus" startText="Fetching..." stopText=""/>
            </apex:outputPanel>
        </apex:panelGrid>
    </apex:pageBlock>
</apex:form>