You need to sign in to do that
Don't have an account?
Navneeth Raj
System.NullPointerException: Attempt to de-reference a null object Class.CourseWrapperList.<init>: line 10, column 1
System.NullPointerException: Attempt to de-reference a null object Class.CourseWrapperList.<init>: line 10, column 1
SCENARIO: Create List of PickList options based on the courses available in the list?
And My Code for this is as below
CourseWrapper.apxc
public class CourseWrapper {
public String cname {set;get;}
public String ccode {get;set;}
public CourseWrapper(String cname,String ccode)
{
this.cname=cname;
this.ccode=ccode;
}
}
CourseWrapperList.apxc
public class CourseWrapperList {
public List<SelectOption> selected {set;get;}
public List<CourseWrapper> courses {get;set;}
CourseWrapper c1=new CourseWrapper('None','n');
CourseWrapper c2=new CourseWrapper('Java','j-01');
CourseWrapper c3=new CourseWrapper('Sfdc','sf-01');
CourseWrapper c4=new CourseWrapper('Oracle','o-01');
CourseWrapper c5=new CourseWrapper('Dotnet','dn-01');
public CourseWrapperList(){
courses.add(c1);
courses.add(c2);
courses.add(c3);
courses.add(c4);
courses.add(c5);
so();
}
public pageReference so(){
List<SelectOption> options=new List <SelectOption>();
for(CourseWrapper c:courses){
SelectOption op=new SelectOption(c.cname,c.ccode);
options.add(op);
}
return null;
}
}
CourseWrapperVfp.vfp
<apex:page controller="CourseWrapperList">
<apex:form>
<apex:pageBlock title="Courses">
<apex:selectList value="{!selected}">
<apex:selectOptions value="{!courses}"/>
</apex:selectList>
</apex:pageBlock>
{!selected}
</apex:form>
</apex:page>
But following (Image) Visualforce page error occurs. What is the error, How & why it occurs & how to overcome it?
SCENARIO: Create List of PickList options based on the courses available in the list?
And My Code for this is as below
CourseWrapper.apxc
public class CourseWrapper {
public String cname {set;get;}
public String ccode {get;set;}
public CourseWrapper(String cname,String ccode)
{
this.cname=cname;
this.ccode=ccode;
}
}
CourseWrapperList.apxc
public class CourseWrapperList {
public List<SelectOption> selected {set;get;}
public List<CourseWrapper> courses {get;set;}
CourseWrapper c1=new CourseWrapper('None','n');
CourseWrapper c2=new CourseWrapper('Java','j-01');
CourseWrapper c3=new CourseWrapper('Sfdc','sf-01');
CourseWrapper c4=new CourseWrapper('Oracle','o-01');
CourseWrapper c5=new CourseWrapper('Dotnet','dn-01');
public CourseWrapperList(){
courses.add(c1);
courses.add(c2);
courses.add(c3);
courses.add(c4);
courses.add(c5);
so();
}
public pageReference so(){
List<SelectOption> options=new List <SelectOption>();
for(CourseWrapper c:courses){
SelectOption op=new SelectOption(c.cname,c.ccode);
options.add(op);
}
return null;
}
}
CourseWrapperVfp.vfp
<apex:page controller="CourseWrapperList">
<apex:form>
<apex:pageBlock title="Courses">
<apex:selectList value="{!selected}">
<apex:selectOptions value="{!courses}"/>
</apex:selectList>
</apex:pageBlock>
{!selected}
</apex:form>
</apex:page>
But following (Image) Visualforce page error occurs. What is the error, How & why it occurs & how to overcome it?
In your controller's constructor you need to instantiate list of "CourseWrapper" first before you add elements into it. Add below line in your constructor as its first line.
HTH,
Suraj
Invalid selectOptions found. Use SelectOption type in Apex
And change your VF to :