You need to sign in to do that
Don't have an account?

Pageblocktable not executing get method when rendered - returning no rows. Help!
Hi Everyone,
This very simple VF page is not executing the getSiteEqp method when rendering the pageBlockTable. I have verified that the SiteEqp list is properly loaded with 70 elements in the controller extension constructor, but it doesn't matter. The system.debug statement is the first statement in the getSiteEqp method, but it is not logged in the execution log, so I think the getSiteEqp method is not even being executed. Can anyone tell me why? Here's the VF code:
<!-- Copyright Ebara International Corporation 2012 -->
<!-- Written by Darryl Singh -->
<apex:page standardController="Case" extensions="Assign_Case_Equip" >
<apex:form >
<apex:pageBlock id="SCE">
<h1 style="font-size:30px"><center>Assign Case Equipment</center></h1><br/>
<center>
<apex:commandButton value="Assign Selected" action="{!AssignSelected}" />
<apex:commandButton value="Assign All" action="{!AssignAll}" />
<apex:commandButton value="Cancel" action="{!Cancel}" />
</center>
<apex:pageMessages />
<apex:pageBlockTable value="{!SiteEqp}" var="SE" id="SEqp" columns="5" width="100%" >
<apex:column headerValue="Sel" style="width:98%" >
<apex:inputField value="{!SE.Selected__c}" style="width:98%" />
</apex:column>
<apex:column headerValue="Serial#" >
<apex:outputText value="{!SE.Name}" style="width:98%" />
</apex:column>
<apex:column headerValue="Model Number" >
<apex:outputText value="{!SE.Model_Number__c}" style="width:98%" />
</apex:column>
<apex:column headerValue="Position Number" >
<apex:outputText value="{!SE.Position_Number__c}" style="width:98%" />
</apex:column>
<apex:column headerValue="Part Number" >
<apex:outputText value="{!SE.Part_Number__c}" style="width:98%" />
</apex:column>
</apex:pageBlockTable>
</apex:pageBlock>
</apex:form>
</apex:page>
and the controller extension . . .
// Copyright Ebara International Corporation 2012
// Written by Darryl Singh
public with sharing class Assign_Case_Equip {
// Class field definitions:
public list<Case_Equipment__c> deleteCE {get; set;}
public list<Case_Equipment__c> insertCE {get; set;}
public list<Site_Equipment__c> SiteEqp {get; set;}
public map<Id, Case_Equipment__c> CaseEquipMap {get; set;}
public final Case c;
public Assign_Case_Equip(ApexPages.StandardController stdController) {
this.c = (Case)stdController.getRecord();
list<Site_Equipment__c> SiteEqp = new List<Site_Equipment__c>();
map<Id, Case_Equipment__c> CaseEquipMap = new map<Id, Case_Equipment__c>();
for (Site_Equipment__c SE : [ select Id, Selected__c, Name, Model_Number__c, Position_Number__c, Part_Number__c
from Site_Equipment__c a where Site__c in (select Site_Number__c from Case where Id = :c.Id)
order by Name ]) SiteEqp.add(SE);
for (Case_Equipment__c CE : [ select Id, Site_Equipment__r.Id from Case_Equipment__c a where Case__c = :c.ID ]) {
CaseEquipMap.put(ce.Site_Equipment__r.Id, ce);
}
}
public list<Site_Equipment__c> getSiteEqp() {
system.debug('SiteEqp Size = ' + string.ValueOf(SiteEqp.Size()));
for(Integer x = 0; x < SiteEqp.size(); x++) {
Case_Equipment__c ce = CaseEquipMap.get(SiteEqp[x].Id);
if(ce == null) SiteEqp[x].Selected__c = False; else SiteEqp[x].Selected__c = True;
}
return SiteEqp;
}
public pageReference assignSelected() {
list<Case_Equipment__c> deleteCE = new list<Case_Equipment__c>();
list<Case_Equipment__c> insertCE = new list<Case_Equipment__c>();
for(Integer x = 0; x < SiteEqp.size(); x++) {
Case_Equipment__c ce = CaseEquipMap.get(SiteEqp[x].Id);
if(ce == null & SiteEqp[x].Selected__c == True) {
insertCE.add(new Case_Equipment__c(Site_Equipment__c = SiteEqp[x].Id, Case__c = c.Id));
}
if(ce <> null & SiteEqp[x].Selected__c == False) deleteCE.add(ce);
}
if(deleteCE.size() > 0) database.delete(deleteCE,false);
if(insertCE.size() > 0) database.insert(insertCE,false);
PageReference casePage = new ApexPages.StandardController(c).view();
return casePage;
}
public pageReference assignAll() {
list<Case_Equipment__c> deleteCE = new list<Case_Equipment__c>();
list<Case_Equipment__c> insertCE = new list<Case_Equipment__c>();
for(Integer x = 0; x < SiteEqp.size(); x++) {
Case_Equipment__c ce = CaseEquipMap.get(SiteEqp[x].Id);
if(ce == null) {
insertCE.add(new Case_Equipment__c(Site_Equipment__c = SiteEqp[x].Id, Case__c = c.Id));
}
}
if(insertCE.size() > 0) database.insert(insertCE,false);
PageReference casePage = new ApexPages.StandardController(c).view();
return casePage;
}
public pageReference Cancel() {
PageReference casePage = new ApexPages.StandardController(c).view();
return casePage;
}
}
Hi
simple mistake
you have written two times.
1.you can change the 2nd line method name in the calss and visualfore page
// Copyright Ebara International Corporation 2012
// Written by Darryl Singh
public with sharing class Assign_Case_Equip {
// Class field definitions:
public list<Case_Equipment__c> deleteCE {get; set;}
public list<Case_Equipment__c> insertCE {get; set;}
1.public list<Site_Equipment__c> SiteEqp {get; set;}
public map<Id, Case_Equipment__c> CaseEquipMap {get; set;}
public final Case c;
public Assign_Case_Equip(ApexPages.StandardController stdController) {
this.c = (Case)stdController.getRecord();
list<Site_Equipment__c> SiteEqp = new List<Site_Equipment__c>();
map<Id, Case_Equipment__c> CaseEquipMap = new map<Id, Case_Equipment__c>();
for (Site_Equipment__c SE : [ select Id, Selected__c, Name, Model_Number__c, Position_Number__c, Part_Number__c
from Site_Equipment__c a where Site__c in (select Site_Number__c from Case where Id = :c.Id)
order by Name ]) SiteEqp.add(SE);
for (Case_Equipment__c CE : [ select Id, Site_Equipment__r.Id from Case_Equipment__c a where Case__c = :c.ID ]) {
CaseEquipMap.put(ce.Site_Equipment__r.Id, ce);
}
}
2.public list<Site_Equipment__c> getSiteEqp() {
system.debug('SiteEqp Size = ' + string.ValueOf(SiteEqp.Size()));
for(Integer x = 0; x < SiteEqp.size(); x++) {
Case_Equipment__c ce = CaseEquipMap.get(SiteEqp[x].Id);
if(ce == null) SiteEqp[x].Selected__c = False; else SiteEqp[x].Selected__c = True;
}
return SiteEqp;
}
public pageReference assignSelected() {
list<Case_Equipment__c> deleteCE = new list<Case_Equipment__c>();
list<Case_Equipment__c> insertCE = new list<Case_Equipment__c>();
for(Integer x = 0; x < SiteEqp.size(); x++) {
Case_Equipment__c ce = CaseEquipMap.get(SiteEqp[x].Id);
if(ce == null & SiteEqp[x].Selected__c == True) {
insertCE.add(new Case_Equipment__c(Site_Equipment__c = SiteEqp[x].Id, Case__c = c.Id));
}
if(ce <> null & SiteEqp[x].Selected__c == False) deleteCE.add(ce);
}
if(deleteCE.size() > 0) database.delete(deleteCE,false);
if(insertCE.size() > 0) database.insert(insertCE,false);
PageReference casePage = new ApexPages.StandardController(c).view();
return casePage;
}
public pageReference assignAll() {
list<Case_Equipment__c> deleteCE = new list<Case_Equipment__c>();
list<Case_Equipment__c> insertCE = new list<Case_Equipment__c>();
for(Integer x = 0; x < SiteEqp.size(); x++) {
Case_Equipment__c ce = CaseEquipMap.get(SiteEqp[x].Id);
if(ce == null) {
insertCE.add(new Case_Equipment__c(Site_Equipment__c = SiteEqp[x].Id, Case__c = c.Id));
}
}
if(insertCE.size() > 0) database.insert(insertCE,false);
PageReference casePage = new ApexPages.StandardController(c).view();
return casePage;
}
public pageReference Cancel() {
PageReference casePage = new ApexPages.StandardController(c).view();
return casePage;
}
}
if your question is resolved please mark it as accpet as a solution if not please let me know.
All Answers
One other comment - I removed the initial load of the SiteEqp list and CaseEquipMap from the constructor and put it directly into the getSiteEqp method, but this did not change the result.
Hi
simple mistake
you have written two times.
1.you can change the 2nd line method name in the calss and visualfore page
// Copyright Ebara International Corporation 2012
// Written by Darryl Singh
public with sharing class Assign_Case_Equip {
// Class field definitions:
public list<Case_Equipment__c> deleteCE {get; set;}
public list<Case_Equipment__c> insertCE {get; set;}
1.public list<Site_Equipment__c> SiteEqp {get; set;}
public map<Id, Case_Equipment__c> CaseEquipMap {get; set;}
public final Case c;
public Assign_Case_Equip(ApexPages.StandardController stdController) {
this.c = (Case)stdController.getRecord();
list<Site_Equipment__c> SiteEqp = new List<Site_Equipment__c>();
map<Id, Case_Equipment__c> CaseEquipMap = new map<Id, Case_Equipment__c>();
for (Site_Equipment__c SE : [ select Id, Selected__c, Name, Model_Number__c, Position_Number__c, Part_Number__c
from Site_Equipment__c a where Site__c in (select Site_Number__c from Case where Id = :c.Id)
order by Name ]) SiteEqp.add(SE);
for (Case_Equipment__c CE : [ select Id, Site_Equipment__r.Id from Case_Equipment__c a where Case__c = :c.ID ]) {
CaseEquipMap.put(ce.Site_Equipment__r.Id, ce);
}
}
2.public list<Site_Equipment__c> getSiteEqp() {
system.debug('SiteEqp Size = ' + string.ValueOf(SiteEqp.Size()));
for(Integer x = 0; x < SiteEqp.size(); x++) {
Case_Equipment__c ce = CaseEquipMap.get(SiteEqp[x].Id);
if(ce == null) SiteEqp[x].Selected__c = False; else SiteEqp[x].Selected__c = True;
}
return SiteEqp;
}
public pageReference assignSelected() {
list<Case_Equipment__c> deleteCE = new list<Case_Equipment__c>();
list<Case_Equipment__c> insertCE = new list<Case_Equipment__c>();
for(Integer x = 0; x < SiteEqp.size(); x++) {
Case_Equipment__c ce = CaseEquipMap.get(SiteEqp[x].Id);
if(ce == null & SiteEqp[x].Selected__c == True) {
insertCE.add(new Case_Equipment__c(Site_Equipment__c = SiteEqp[x].Id, Case__c = c.Id));
}
if(ce <> null & SiteEqp[x].Selected__c == False) deleteCE.add(ce);
}
if(deleteCE.size() > 0) database.delete(deleteCE,false);
if(insertCE.size() > 0) database.insert(insertCE,false);
PageReference casePage = new ApexPages.StandardController(c).view();
return casePage;
}
public pageReference assignAll() {
list<Case_Equipment__c> deleteCE = new list<Case_Equipment__c>();
list<Case_Equipment__c> insertCE = new list<Case_Equipment__c>();
for(Integer x = 0; x < SiteEqp.size(); x++) {
Case_Equipment__c ce = CaseEquipMap.get(SiteEqp[x].Id);
if(ce == null) {
insertCE.add(new Case_Equipment__c(Site_Equipment__c = SiteEqp[x].Id, Case__c = c.Id));
}
}
if(insertCE.size() > 0) database.insert(insertCE,false);
PageReference casePage = new ApexPages.StandardController(c).view();
return casePage;
}
public pageReference Cancel() {
PageReference casePage = new ApexPages.StandardController(c).view();
return casePage;
}
}
if your question is resolved please mark it as accpet as a solution if not please let me know.
Ah yes! Now I'm completely embarrassed - rookie mistake! Thanks for your help. Your suggestion worked great.
Good Darryl, I am happy that my suggestion helped you.