You need to sign in to do that
Don't have an account?
Sonam Patil
System.NullPointerException: Argument cannot be null. Error in VF page
Hi,
Below is my code, I am getting the error as:
System.NullPointerException: Argument cannot be null.
Error is in expression '{!Del}' in component <apex:commandButton> in page task9_10: Class.acad.del: line 37, column 1
Class.acad.del: line 37, column 1
Code:
<apex:page standardController="Account" extensions="acad">
<apex:form >
<apex:pageBlock >
<apex:pageBlockButtons location="top">
<apex:commandButton value="Add" action="{!add}" reRender="pb1"/>
<apex:commandButton value="Save" action="{!save}"/>
</apex:pageBlockButtons>
</apex:pageBlock>
<apex:pageBlock id="pb1">
<apex:repeat value="{!lisin}" var="e1">
<apex:panelGrid columns="5">
<apex:panelGrid headerClass="name">
<apex:facet name="header">Del</apex:facet>
<apex:commandButton value="Delete" action="{!Del}"/>
<apex:param name="DeleteRow" assignTo="{!SelectedRowIndex}" value="{!e1.recCount}"/>
</apex:panelGrid>
<apex:panelGrid title="SPD">
<apex:facet name="header">Country</apex:facet>
<apex:inputField value="{!e1.acc.ShippingCountry}"/>
</apex:panelGrid>
<apex:panelGrid title="SPD">
<apex:facet name="header">Name</apex:facet>
<apex:inputField value="{!e1.acc.Name}"/>
</apex:panelGrid>
</apex:panelGrid>
</apex:repeat>
</apex:pageBlock>
</apex:form>
</apex:page>
public with sharing class acad {
List<Account> lisacc = new List<Account>();
public List<innercls> lisin{get; set;}
public String selectedRowIndex;
public Integer count = 1;
public acad(ApexPages.StandardController controller) {
lisin = new List<innercls>();
addmore();
// selectedRowIndex=1;
}
public PageReference add(){
addmore();
count++;
return null;
}
public PageReference Save(){
PageReference pr = new PageReference('apex/Paginate2');
for(Integer i=0;i<lisin.size();i++){
lisacc.add(lisin[i].acc);
}
insert lisacc;
pr.setRedirect(True);
return pr;
}
public void addmore(){
innercls objin = new innercls(count);
lisin.add(objin);
}
public void del(){
lisin.remove(Integer.valueof(selectedRowIndex)-1);
count--;
}
public class innercls{
public String recCount{get; set;}
public Account acc{get;set;}
public innercls(Integer stcount){
reccount= String.valueof(stcount);
acc=new Account();
}
}
}
Below is my code, I am getting the error as:
System.NullPointerException: Argument cannot be null.
Error is in expression '{!Del}' in component <apex:commandButton> in page task9_10: Class.acad.del: line 37, column 1
Class.acad.del: line 37, column 1
Code:
<apex:page standardController="Account" extensions="acad">
<apex:form >
<apex:pageBlock >
<apex:pageBlockButtons location="top">
<apex:commandButton value="Add" action="{!add}" reRender="pb1"/>
<apex:commandButton value="Save" action="{!save}"/>
</apex:pageBlockButtons>
</apex:pageBlock>
<apex:pageBlock id="pb1">
<apex:repeat value="{!lisin}" var="e1">
<apex:panelGrid columns="5">
<apex:panelGrid headerClass="name">
<apex:facet name="header">Del</apex:facet>
<apex:commandButton value="Delete" action="{!Del}"/>
<apex:param name="DeleteRow" assignTo="{!SelectedRowIndex}" value="{!e1.recCount}"/>
</apex:panelGrid>
<apex:panelGrid title="SPD">
<apex:facet name="header">Country</apex:facet>
<apex:inputField value="{!e1.acc.ShippingCountry}"/>
</apex:panelGrid>
<apex:panelGrid title="SPD">
<apex:facet name="header">Name</apex:facet>
<apex:inputField value="{!e1.acc.Name}"/>
</apex:panelGrid>
</apex:panelGrid>
</apex:repeat>
</apex:pageBlock>
</apex:form>
</apex:page>
public with sharing class acad {
List<Account> lisacc = new List<Account>();
public List<innercls> lisin{get; set;}
public String selectedRowIndex;
public Integer count = 1;
public acad(ApexPages.StandardController controller) {
lisin = new List<innercls>();
addmore();
// selectedRowIndex=1;
}
public PageReference add(){
addmore();
count++;
return null;
}
public PageReference Save(){
PageReference pr = new PageReference('apex/Paginate2');
for(Integer i=0;i<lisin.size();i++){
lisacc.add(lisin[i].acc);
}
insert lisacc;
pr.setRedirect(True);
return pr;
}
public void addmore(){
innercls objin = new innercls(count);
lisin.add(objin);
}
public void del(){
lisin.remove(Integer.valueof(selectedRowIndex)-1);
count--;
}
public class innercls{
public String recCount{get; set;}
public Account acc{get;set;}
public innercls(Integer stcount){
reccount= String.valueof(stcount);
acc=new Account();
}
}
}
try this onces
in your controller code
Mark it best answer if it helps you
Thanks