You need to sign in to do that
Don't have an account?
Padmaja Gadepalli
inline vfpage not showing content ..
hi Everyone , i am trying to show data on an inline vfpage on opportunity from junction obejct on lead an dcustom object . vfpage on opportunity is giving error :"Content cannot be displayed: Attempt to de-reference a null object"
i see that opprtunity id is being picked from debug log but looks like the list is not being passed onto page.
here is my code :
controller:
public with sharing class OpportunityLeadQuestionnaire {
private final ApexPages.StandardController controller;
private final Opportunity OppRecord;
public String opptyrecord {get;set;}
public String OpportunityId{set;get;}
public list<LeadQualificationAns__c> questions{get;set;}
public ApexPages.StandardSetController quesRecords { get;set;}
public OpportunityLeadQuestionnaire(ApexPages.StandardController scMain) {
OpportunityId = System.currentPageReference().getParameters().get('id');
Opportunity Opp = [select Id,Name from Opportunity where id =: OpportunityId];
// OpptyRecord = Opp.id;
questions=new list<leadqualificationans__C>();
questionslist();
}
// public OpportunityLeadQuestionnaire(){
//opptyrecord = System.currentPageReference().getParameters().get('id');
// questionslist(); }
public void questionslist(){
OpptyRecord = System.currentPageReference().getParameters().get('id');
// opptyrecord = System.currentPageReference().getParameters().get('id');
// new ApexPages.StandardSetController(Database.getQueryLocator([select Id,Subject,CaseNumber, Resolution__c,AccountId, Status, Priority,Productweb__c, Created__c,Modified__c,Submitted_By__c,CreatedDate from Case where status=:caseType order by CreatedDate desc]));
opptyrecord = new ApexPages.StandardSetController(Database.getQueryLocator(select Id,Name from Opportunity where id =:)));
list<lead> LeadRecord = [SELECT Id ,status FROM Lead WHERE ConvertedOpportunityId = :OpptyRecord and status='Converted'];
if ( LeadRecord.size()>0)
{
list<LeadQualificationAns__c> quesrecords =[select id,lead__r.id,questionaire__C,Questionaire__r.answerdatatype__C,Questionaire__r.order__C,opportunityid__c,answer__C, AnswerDate__c,problem__C,prompt__c,ProblemSolve__c,Project_Compliance__c,budgetallocated__c,contactreason__c,Solution__c,DurationRange__c,QualificationComplete__C from LeadQualificationAns__c where lead__c =:LeadRecord[0].Id ] ;
}
quesrecords.setPageSize(10);
}
public List<LeadQualificationAns__c> getquestions() {
return (List<LeadQualificationAns__c>) quesRecords.getRecords();
}
}
vf page :
<apex:page standardController="Opportunity" id="thepage" extensions="OpportunityLeadQuestionnaire" docType="html-5.0" > <apex:outputPanel > <apex:pageMessages ></apex:pageMessages> <apex:form id="theForm" > <apex:pageBlock id="theBlock" > <apex:pageBlockSection id="section" columns="1" > <apex:repeat var="question" value="{!questions}"> <apex:outputLabel style="font-weight:bold;" value="{!question.Question__c}" rendered="{!IF(Question.Questionaire__r.AnswerDataType__c=='LongText',true,false)}" /> <apex:inputTextarea cols="80" rows="3" value="{!question.Answer__c}" rendered="{!IF(Question.Questionaire__r.AnswerDataType__c=='LongText',true,false)}"/> </apex:repeat> <apex:pageBlockSection columns="2" > <apex:repeat var="question" value="{!questions}"> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Date'}"> <apex:inputField label="{!question.Question__c}" value="{!question.AnswerDate__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Date',true,false)}" /> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==50}"> <apex:inputfield label="{!question.Question__c}" value="{!question.prompt__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==50,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==51}"> <apex:inputfield label="{!question.Question__c}" value="{!question.ProblemSolve__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==51,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==52}"> <apex:inputfield label="{!question.Question__c}" value="{!question.problem__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==52,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==53} "> <apex:inputfield label="{!question.Question__c}" value="{!question.Project_Compliance__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==53,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==54} "> <apex:inputfield label="{!question.Question__c}" value="{!question.budgetallocated__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==54,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==55} "> <apex:inputfield label="{!question.Question__c}" value="{!question.contactreason__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==55,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==56} "> <apex:inputfield label="{!question.Question__c}" value="{!question.Solution__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==56,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==57} "> <apex:inputfield label="{!question.Question__c}" value="{!question.DurationRange__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==57,true,false)}"/> </tr> </apex:repeat> </apex:pageBlockSection> </apex:pageBlockSection> </apex:pageBlock> </apex:form> </apex:outputPanel> </apex:page>
i see that opprtunity id is being picked from debug log but looks like the list is not being passed onto page.
here is my code :
controller:
public with sharing class OpportunityLeadQuestionnaire {
private final ApexPages.StandardController controller;
private final Opportunity OppRecord;
public String opptyrecord {get;set;}
public String OpportunityId{set;get;}
public list<LeadQualificationAns__c> questions{get;set;}
public ApexPages.StandardSetController quesRecords { get;set;}
public OpportunityLeadQuestionnaire(ApexPages.StandardController scMain) {
OpportunityId = System.currentPageReference().getParameters().get('id');
Opportunity Opp = [select Id,Name from Opportunity where id =: OpportunityId];
// OpptyRecord = Opp.id;
questions=new list<leadqualificationans__C>();
questionslist();
}
// public OpportunityLeadQuestionnaire(){
//opptyrecord = System.currentPageReference().getParameters().get('id');
// questionslist(); }
public void questionslist(){
OpptyRecord = System.currentPageReference().getParameters().get('id');
// opptyrecord = System.currentPageReference().getParameters().get('id');
// new ApexPages.StandardSetController(Database.getQueryLocator([select Id,Subject,CaseNumber, Resolution__c,AccountId, Status, Priority,Productweb__c, Created__c,Modified__c,Submitted_By__c,CreatedDate from Case where status=:caseType order by CreatedDate desc]));
opptyrecord = new ApexPages.StandardSetController(Database.getQueryLocator(select Id,Name from Opportunity where id =:)));
list<lead> LeadRecord = [SELECT Id ,status FROM Lead WHERE ConvertedOpportunityId = :OpptyRecord and status='Converted'];
if ( LeadRecord.size()>0)
{
list<LeadQualificationAns__c> quesrecords =[select id,lead__r.id,questionaire__C,Questionaire__r.answerdatatype__C,Questionaire__r.order__C,opportunityid__c,answer__C, AnswerDate__c,problem__C,prompt__c,ProblemSolve__c,Project_Compliance__c,budgetallocated__c,contactreason__c,Solution__c,DurationRange__c,QualificationComplete__C from LeadQualificationAns__c where lead__c =:LeadRecord[0].Id ] ;
}
quesrecords.setPageSize(10);
}
public List<LeadQualificationAns__c> getquestions() {
return (List<LeadQualificationAns__c>) quesRecords.getRecords();
}
}
vf page :
<apex:page standardController="Opportunity" id="thepage" extensions="OpportunityLeadQuestionnaire" docType="html-5.0" > <apex:outputPanel > <apex:pageMessages ></apex:pageMessages> <apex:form id="theForm" > <apex:pageBlock id="theBlock" > <apex:pageBlockSection id="section" columns="1" > <apex:repeat var="question" value="{!questions}"> <apex:outputLabel style="font-weight:bold;" value="{!question.Question__c}" rendered="{!IF(Question.Questionaire__r.AnswerDataType__c=='LongText',true,false)}" /> <apex:inputTextarea cols="80" rows="3" value="{!question.Answer__c}" rendered="{!IF(Question.Questionaire__r.AnswerDataType__c=='LongText',true,false)}"/> </apex:repeat> <apex:pageBlockSection columns="2" > <apex:repeat var="question" value="{!questions}"> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Date'}"> <apex:inputField label="{!question.Question__c}" value="{!question.AnswerDate__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Date',true,false)}" /> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==50}"> <apex:inputfield label="{!question.Question__c}" value="{!question.prompt__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==50,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==51}"> <apex:inputfield label="{!question.Question__c}" value="{!question.ProblemSolve__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==51,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==52}"> <apex:inputfield label="{!question.Question__c}" value="{!question.problem__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==52,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==53} "> <apex:inputfield label="{!question.Question__c}" value="{!question.Project_Compliance__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==53,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==54} "> <apex:inputfield label="{!question.Question__c}" value="{!question.budgetallocated__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==54,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==55} "> <apex:inputfield label="{!question.Question__c}" value="{!question.contactreason__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==55,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==56} "> <apex:inputfield label="{!question.Question__c}" value="{!question.Solution__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==56,true,false)}"/> </tr> <tr style="display:rendered={!question.Questionaire__r.AnswerDataType__c=='Picklist'} && {!question.Questionaire__r.Order__c==57} "> <apex:inputfield label="{!question.Question__c}" value="{!question.DurationRange__c}" rendered="{!IF(question.Questionaire__r.AnswerDataType__c=='Picklist' && question.Questionaire__r.Order__c==57,true,false)}"/> </tr> </apex:repeat> </apex:pageBlockSection> </apex:pageBlockSection> </apex:pageBlock> </apex:form> </apex:outputPanel> </apex:page>
public with sharing class OpportunityLeadQuestionnaire {
private final ApexPages.StandardController controller;
private final Opportunity OppRecord;
public String opptyrecord {get;set;}
public String OpportunityId{set;get;}
public list<LeadQualificationAns__c> questions{get;set;}
public list<LeadQualificationAns__c> questionslist{get;set;}
public ApexPages.StandardSetController quesRecords { get;set;}
public OpportunityLeadQuestionnaire(ApexPages.StandardController scMain) {
ID oppID = scMain.getID();
OpportunityId = System.currentPageReference().getParameters().get('id');
Opportunity Opp = [select Id,Name from Opportunity where id =: OpportunityId];
OpptyRecord = Opp.id;
questions=new list<leadqualificationans__C>();
questionslist();
}
public void questionslist(){
list<lead> LeadRecord = [SELECT Id ,status FROM Lead WHERE ConvertedOpportunityId = :OpptyRecord and status='Converted'];
if ( LeadRecord.size()>0)
{
list<LeadQualificationAns__c> quesrecords =[select id,lead__r.id,questionaire__C,Questionaire__r.question__C,Questionaire__r.answer__C,Questionaire__r.answerdatatype__C,Questionaire__r.order__C,opportunityid__c,answer__C, AnswerDate__c,problem__C,prompt__c,ProblemSolve__c,Project_Compliance__c,budgetallocated__c,contactreason__c,Solution__c,DurationRange__c,QualificationComplete__C from LeadQualificationAns__c where lead__c =:LeadRecord[0].Id ] ;
for (LeadQualificationAns__c lq:quesrecords)
{
questions.add(lq);
}
}
}
public List<LeadQualificationAns__c> getquestions() {
questionslist();
return questions;
}
}