You need to sign in to do that
Don't have an account?
bharath kumar 52
Show/Hide a section of a vf page based on picklist values
Hi Guys,
Below is the code of my VF page and my controller and i am getting a null pointer exception.I am new to apex and VF development .
Please let me know where i am going wrong and help me in this regard.
Thanks in anticipation.
VF Page :
<apex:page controller="ShowHideController"> <!-- controller="AccountController" -->
<apex:form >
<apex:pageBlock title="Select the options"> Vehicle Names <apex:selectList value="{!selectedVehicleId}" size="1">
<apex:selectOptions value="{!VehicleType}"/>
<apex:actionSupport event="onchange" reRender="a"/>
</apex:selectList> Available parts
<apex:pageBlockSection id="a">
<apex:selectList value="{!selectedBikePartId}" size="5">
<apex:selectOptions value="{!BikeParts}"/>
</apex:selectList>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>
Controller :
public class ShowHideController {
public String selectedVehicleId{get;set;}
public String selectedBikePartId{get;set;}
// this var is available only in the view and not seen in the
// controller methods below
public ShowHideController(){
}
public List<SelectOption> getVehicleType() {
List<SelectOption> vehicletypelist= new List<SelectOption>();
vehicletypelist.add( new SelectOption('','--Select--'));
for( Vehicle__c ve : [select Id,VehicleType__c from Vehicle__c ]) {
vehicletypelist.add( new SelectOption(ve.Id,ve.VehicleType__c));
}
return vehicletypelist;
}
public List<SelectOption> getBikeParts(){
List<SelectOption> bikepartlist=new List<SelectOption>();
List<SelectOption> options= new List<SelectOption>();
if(selectedVehicleId!=null && selectedVehicleId=='Bike'){
for(Vehicle__c ve2:[select Id,Bike_parts_available__c from Vehicle__c where VehicleType__c=:selectedVehicleId ]){
bikepartlist.add(new SelectOption(ve2.Id,ve2.Bike_parts_available__c));
}
}
else
{
bikepartlist.add( new SelectOption('--None--','--None--'));
}
return bikepartlist;
}
//Below code is not implemented
public List<SelectOption> getCarParts(){
List<SelectOption> carpartlist=new List<SelectOption>();
List<SelectOption> options= new List<SelectOption>();
if(selectedVehicleId!=null && selectedVehicleId=='car'){
for(Vehicle__c ve3:[select Id,Car_parts_available__c from Vehicle__c where VehicleType__c=:selectedVehicleId]){
carpartlist.add(new SelectOption(ve3.Id,ve3.Car_parts_available__c));
}
}
return carpartlist;
}
}
Below is the code of my VF page and my controller and i am getting a null pointer exception.I am new to apex and VF development .
Please let me know where i am going wrong and help me in this regard.
Thanks in anticipation.
VF Page :
<apex:page controller="ShowHideController"> <!-- controller="AccountController" -->
<apex:form >
<apex:pageBlock title="Select the options"> Vehicle Names <apex:selectList value="{!selectedVehicleId}" size="1">
<apex:selectOptions value="{!VehicleType}"/>
<apex:actionSupport event="onchange" reRender="a"/>
</apex:selectList> Available parts
<apex:pageBlockSection id="a">
<apex:selectList value="{!selectedBikePartId}" size="5">
<apex:selectOptions value="{!BikeParts}"/>
</apex:selectList>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>
Controller :
public class ShowHideController {
public String selectedVehicleId{get;set;}
public String selectedBikePartId{get;set;}
// this var is available only in the view and not seen in the
// controller methods below
public ShowHideController(){
}
public List<SelectOption> getVehicleType() {
List<SelectOption> vehicletypelist= new List<SelectOption>();
vehicletypelist.add( new SelectOption('','--Select--'));
for( Vehicle__c ve : [select Id,VehicleType__c from Vehicle__c ]) {
vehicletypelist.add( new SelectOption(ve.Id,ve.VehicleType__c));
}
return vehicletypelist;
}
public List<SelectOption> getBikeParts(){
List<SelectOption> bikepartlist=new List<SelectOption>();
List<SelectOption> options= new List<SelectOption>();
if(selectedVehicleId!=null && selectedVehicleId=='Bike'){
for(Vehicle__c ve2:[select Id,Bike_parts_available__c from Vehicle__c where VehicleType__c=:selectedVehicleId ]){
bikepartlist.add(new SelectOption(ve2.Id,ve2.Bike_parts_available__c));
}
}
else
{
bikepartlist.add( new SelectOption('--None--','--None--'));
}
return bikepartlist;
}
//Below code is not implemented
public List<SelectOption> getCarParts(){
List<SelectOption> carpartlist=new List<SelectOption>();
List<SelectOption> options= new List<SelectOption>();
if(selectedVehicleId!=null && selectedVehicleId=='car'){
for(Vehicle__c ve3:[select Id,Car_parts_available__c from Vehicle__c where VehicleType__c=:selectedVehicleId]){
carpartlist.add(new SelectOption(ve3.Id,ve3.Car_parts_available__c));
}
}
return carpartlist;
}
}
Thanks
Apex
VF