You need to sign in to do that
Don't have an account?
Egor Palatov
Custom setting list out of bounds
Hi, how to catch exception with Custom setting list?
Custom setting: NumRecOnPage__c
Custom setting field: Number_records__c
Contoller:
public class ParseCSVController { public Blob csvFileBody {get;set;} public String csvAsString {get;set;} public String[] csvFileLines {get;set;} public List<Car_detail__c> detailList {get;set;} public List<Car_Detail__c> showNow {get;set;} public List<NumRecOnPage__c> pageSize {get;set;} public Map<String,Integer> mapOfFields {get;set;} public Integer resultSize {get;set;} public Integer pageNumber {get;set;} public Integer limitSize {get;set;} public Integer counter = 0; public ParseCSVController(){ csvFileLines = new String[]{}; showNow = new List<Car_Detail__c>(); detailList = new List<Car_detail__c>(); mapOfFields = new Map<String,Integer>(); pageSize = NumRecOnPage__c.getAll().values(); limitSize = pageSize[0].Number_Records__c.intValue() ; resultSize = 0; pageNumber = counter; } public Boolean getHasNext(){ if(pageNumber < getNumPages()){ return true; } return false; } public boolean getHasPrevious(){ if(pageNumber>1){ return true; } return false; } public void Next(){ showNow.clear(); counter+=1; pageNumber += 1; integer i0 = counter * limitSize; for(integer i = i0 ;i<resultSize;i++){ if(i<(i0+limitSize)){ showNow.add(detailList.get(i)); }else break; } } public void Previous(){ showNow.clear(); pageNumber = pageNumber-1; counter=counter-1; integer i0 = counter * limitSize; for(integer i = i0; i < resultSize; i++){ if(i < (i0+limitSize)){ showNow.add(detailList.get(i)); }else break; } } public void Reload(){ showNow.clear(); pageNumber = 1; counter = 0; integer i0 = counter * limitSize; for(integer i=i0;i<resultSize;i++){ if(i<i0+limitSize){ showNow.add(detailList.get(i)); }else break; } } public integer getNumPages(){ integer ost = math.mod(resultSize, limitSize); if(ost>0){ return resultSize/limitSize+1; } return resultSize/limitSize; } public void First(){ counter = 0; pageNumber = 1; showNow.clear(); for(integer i=0;i<resultSize;i++){ if(i<limitSize){ showNow.add(detailList.get(i)); }else break; } } public void Last(){ counter = getNumPages()-1; pageNumber = getNumPages(); showNow.clear(); integer i0 = counter*limitSize; for(integer i=i0;i<resultSize;i++){ if(i<(i0+limitSize)){ showNow.add(detailList.get(i)); }else break; } } public integer getCounterValue(){ return counter; }
Try with above code.
Hope this helps
Hope this helps :)
I think this issue might be coming because of null pointer exception.
Try changing this below code block
to
Your Final output will be like this. Please use below code