function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Padmaja GadepalliPadmaja 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>
 
Padmaja GadepalliPadmaja Gadepalli
ok got this solved , and posting new code :

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;
 
     }
 
     
    }