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
nikkeynikkey 

Row count in a visual force page pdf

Can any on help me out how to get the Row count in a visual force page which is in a PDF format .
ProductName                   Q1       Q2   Q3     Q4       Total
BXRC-25e4000-F-04             100     200   300   400       1000   
BXRC-25e4000-F-23             200                 200       400
Subtotal ------------         300     200   300   600      1400
With Code i could get the Total but the subtotal is not getting calculated correctly.,it displays wrong value.Any help very much appreciated.
CODE :
public with sharing class QuoteContentController {

      public Map<String,Decimal> PartMap{get;set;}

       public Map<string,Decimal> Quarter1{get;set;}

       public Map<string,Decimal> Quarter2{get;set;}

       public Map<string,Decimal> Quarter3{get;set;}

       public Map<string,Decimal> Quarter4{get;set;}

       public Map<string,Decimal> Amount1{get;set;}

       public Map<string,Decimal> Amount2{get;set;}

       public Map<string,Decimal> Amount3{get;set;}

       public Map<string,Decimal> Amount4{get;set;}

       public Competitor__c com{get;set;}

       public gmod__Opportunity_Forecast__c opflist{get;set;}

       public Id qId {get;set;}

       Public string all{get;set;}

//Declare a wrapper class  

       public class Wrapperclass{

 //custom wrapper datatype  

       Public string Name{get;set;}  
       Public string AccountType{get;set;}  
       Public date todaysDate{get;set;}  
       Public date Expected_Order_Date{get;set;}
       Public string Probability{get;set;}  
       Public string Internal_Comment{get;set;}  
       Public string External_Comment{get;set;}  

       Public string Segment{get;set;}  
       Public string Application{get;set;}  
       Public string Persona{get;set;}  
       Public string Geogrpahy{get;set;}  

       Public string PartNumbers{get;set;}  
       Public Decimal  Price{get;set;}  
       Public Decimal End_Customer_Price{get;set;}  
       Public Decimal Quantity {get;set;}  
       Public Decimal Total{get;set;}  

       Public string RFQ_justification{get;set;}  
       Public string Main_Customer_of_Account{get;set;}  
       Public string Bridgelux_competition_at_account{get;set;}
       Public string Geographic_regions_serviced{get;set;}  
       Public string Annual_lighting_revenue{get;set;}  
       Public string Annual_LED_revenue_or_percent{get;set;}  
       Public string Annual_purchases_of_LED_light_sources{get;set;}
       Public string Percent_of_LED_purchases_that_are_COB{get;set;}  
       Public string Other_information{get;set;}  

       Public string Product_Series{get;set;}  
       Public string Volume{get;set;} 
       Public string Date_Price_is_Valid{get;set;} 

       Public string gmod_Opportunity{get;set;}
       Public string gmod_Product{get;set;}
       Public Decimal gmod_Quantity{get;set;}
       Public Decimal gmod_Price{get;set;}
       Public Decimal gmod_Quarter{get;set;}
       Public Decimal gmod_Month{get;set;}
       Public Decimal gmod_Amount{get;set;}
       Public Decimal Actual_Price{get;set;}
       Public Decimal  gmod_Year{get;set;}
       Public Date gmod_date{get;set;}
       Public string gmod_Month_Text{get;set;}
       Public Date  Forecast_Date{get;set;}




       Public wrapperClass(){} 

  }

       Public QuoteContentController(){}

       Public QuoteContentController(ApexPages.StandardController controller) {

       qId=Apexpages.currentPage().getparameters().get('Id');


    }


       Public Integer subtotalofquantity{get;set;}

       Public Integer subtotalofamount{get;set;}

       Public Integer quarter1subtotal{get;set;} 


       Public List<wrapperClass> disp_list {get;set;}{

       subtotalofquantity=0;

       subtotalofamount=0;

       quarter1subtotal=0;

      // Integer tempsubtotalofquantity=0;

     //  Integer tempsubtotalofamount=0;


     //define constructor to instantiate the wrapper data type 

       disp_list=new list<wrapperclass>();

     //Query all the list 

     list<Quote> q =[select id ,Name ,QuoteNumber,Effective_Date__c ,Comments__c ,Quote.Opportunity.id, 
                    Quote.Opportunity.Probability ,Quote.Opportunity.AccSegment__c ,Quote.Opportunity.AccApplication__c,Quote.Opportunity.Persona__c,Quote.Opportunity.Region__c
                    from Quote where id=:apexpages.currentpage().getparameters().get('id')];



     Opportunity opp =[select id , Name, (select id, Quantity, product2id from OpportunityLineItems), probability, AccSegment__c from Opportunity where opportunity.Id =:q[0].opportunity.id];

    list<gmod__Opportunity_Forecast__c>  opflist = [Select id ,Name ,gmod__opportunity__r.id,gmod__Quantity__c,gmod__Price__c , gmod__Month__c,    gmod__date__c,  gmod__Quarter__c ,gmod__Amount__c ,Actual_Price__c ,gmod__Year__c ,gmod__Month_Text__c ,Forecast_Date__c,gmod__Product__r.Name ,gmod__opportunity__r.name from gmod__Opportunity_Forecast__c WHERE gmod__Product__c!=null and gmod__opportunity__r.id =:opp.id Order BY gmod__Year__c, gmod__Month__c asc]; 


 //Iterate through each list to extract the values and add it to the custom wrapper data type  


        PartMap = new Map<String,Decimal>();

      //  PartMapQuantity = new Map<String,Decimal>();

        Quarter1 = new Map<String,Decimal>();

        Quarter2 = new Map<String,Decimal>();

        Quarter3 = new Map<String,Decimal>();

        Quarter4 = new Map<String,Decimal>();

        Amount1 = new Map<String,Decimal>();

        Amount2= new Map<String,Decimal>();

        Amount3 = new Map<String,Decimal>();

        Amount4 = new Map<String,Decimal>();

        for(gmod__Opportunity_Forecast__c oppforecast : opflist)
        {

             if(oppforecast .gmod__Month_Text__c=='Jan' || oppforecast .gmod__Month_Text__c=='Feb'|| oppforecast.gmod__Month_Text__c=='Mar'  )

                   {
                       if(Quarter1.containskey(oppforecast.gmod__Product__r.Name ))
                             {
                                  Quarter1.put(oppforecast.gmod__Product__r.Name,Quarter1.get(oppforecast.gmod__Product__r.Name) + oppforecast.gmod__Quantity__c);             
                                  Amount1.put(oppforecast.gmod__Product__r.Name,Amount1.get(oppforecast.gmod__Product__r.Name) + oppforecast.gmod__Amount__c);
                                  //PartMap.put(oppforecast.gmod__Product__c,PartMap.get(oppforecast.gmod__Product__c) + oppforecast.gmod__Quantity__c);
                                 // PartMap.put(oppforecast.gmod__Product__c,PartMap.get(oppforecast.gmod__Product__c) + oppforecast.gmod__Amount__c);  
                              }
                        else
                              {

                                 Quarter1.put(oppforecast.gmod__Product__r.Name, oppforecast.gmod__Quantity__c);
                                 Amount1.put(oppforecast.gmod__Product__r.Name,oppforecast.gmod__Amount__c);
                                // PartMap.put(oppforecast.gmod__Product__c, oppforecast.gmod__Quantity__c);
                                // PartMap.put(oppforecast.gmod__Product__c,oppforecast.gmod__Amount__c);

                                 wrapperclass w = new wrapperclass();

                                 w.gmod_Opportunity = oppforecast.gmod__Opportunity__r.Name;

                                 w.gmod_Product = oppforecast.gmod__Product__r.Name;

                                 w.gmod_Quantity =oppforecast.gmod__Quantity__c;

                                 w.gmod_Price=oppforecast.gmod__Price__c;

                                 w.Name =oppforecast.Name;

                                 w.gmod_Quarter=oppforecast.gmod__Quarter__c;

                                 w.gmod_Month=oppforecast.gmod__Month__c;

                                 w.gmod_Amount=oppforecast.gmod__Amount__c;

                                 w.Actual_Price=oppforecast.Actual_Price__c;

                                 w.gmod_Year=oppforecast.gmod__Year__c;

                                 w.gmod_date=oppforecast.gmod__date__c;

                                 w.gmod_Month_Text=oppforecast.gmod__Month_Text__c;

                                 w.Forecast_Date=oppforecast.Forecast_Date__c;

                                 disp_list.add(w);
                            } 
                         }

                 if(oppforecast.gmod__Month_Text__c=='Apr' ||oppforecast.gmod__Month_Text__c=='May'|| oppforecast.gmod__Month_Text__c=='June')

                          {

                               if(Quarter2.containskey(oppforecast.gmod__Product__r.Name))
                                       {
                                           Quarter2.put(oppforecast.gmod__Product__r.Name,Quarter2.get(oppforecast.gmod__Product__r.Name) + oppforecast.gmod__Quantity__c);             
                                           Amount2.put(oppforecast.gmod__Product__r.Name,Amount2.get(oppforecast.gmod__Product__r.Name) + oppforecast.gmod__Amount__c);
                                        }
                              else
                                         {

                                            Quarter2.put(oppforecast.gmod__Product__r.Name, oppforecast.gmod__Quantity__c);
                                            Amount2.put(oppforecast.gmod__Product__r.Name,oppforecast.gmod__Amount__c);

                                          /* wrapperclass w = new wrapperclass();

                                            w.gmod_Opportunity = oppforecast.gmod__Opportunity__r.Name;

                                            w.gmod_Product = oppforecast.gmod__Product__r.Name;

                                            w.gmod_Quantity =oppforecast.gmod__Quantity__c;

                                            w.gmod_Price=oppforecast.gmod__Price__c;

                                            w.Name =oppforecast.Name;

                                            w.gmod_Quarter=oppforecast.gmod__Quarter__c;

                                            w.gmod_Month=oppforecast.gmod__Month__c;

                                            w.gmod_Amount=oppforecast.gmod__Amount__c;

                                            w.Actual_Price=oppforecast.Actual_Price__c;

                                            w.gmod_Year=oppforecast.gmod__Year__c;

                                            w.gmod_date=oppforecast.gmod__date__c;

                                            w.gmod_Month_Text=oppforecast.gmod__Month_Text__c;

                                            w.Forecast_Date=oppforecast.Forecast_Date__c;

                                            disp_list.add(w);*/

                                        }
                           }
                 if(oppforecast.gmod__Month_Text__c=='Jul' || oppforecast.gmod__Month_Text__c=='Aug'|| oppforecast.gmod__Month_Text__c=='Sept')

                        {

                              if(Quarter3.containskey(oppforecast.gmod__Product__r.Name))
                                      {
                                          Quarter3.put(oppforecast.gmod__Product__r.Name,Quarter3.get(oppforecast.gmod__Product__r.Name) + oppforecast.gmod__Quantity__c);             
                                          Amount3.put(oppforecast.gmod__Product__r.Name,Amount3.get(oppforecast.gmod__Product__r.Name) + oppforecast.gmod__Amount__c);
                                       }
                             else
                                       {

                                          Quarter3.put(oppforecast.gmod__Product__r.Name, oppforecast.gmod__Quantity__c);
                                          Amount3.put(oppforecast.gmod__Product__r.Name,oppforecast.gmod__Amount__c);

                                         /* wrapperclass w = new wrapperclass();

                                          w.gmod_Opportunity = oppforecast.gmod__Opportunity__r.Name;

                                          w.gmod_Product = oppforecast.gmod__Product__r.Name;

                                          w.gmod_Quantity =oppforecast.gmod__Quantity__c;

                                          w.gmod_Price=oppforecast.gmod__Price__c;

                                          w.Name =oppforecast.Name;

                                          w.gmod_Quarter=oppforecast.gmod__Quarter__c;

                                          w.gmod_Month=oppforecast.gmod__Month__c;

                                          w.gmod_Amount=oppforecast.gmod__Amount__c;

                                          w.Actual_Price=oppforecast.Actual_Price__c;

                                          w.gmod_Year=oppforecast.gmod__Year__c;

                                          w.gmod_date=oppforecast.gmod__date__c;

                                          w.gmod_Month_Text=oppforecast.gmod__Month_Text__c;

                                          w.Forecast_Date=oppforecast.Forecast_Date__c;

                                          disp_list.add(w);*/

                                    }
                            }
              if(oppforecast.gmod__Month_Text__c=='Oct' || oppforecast.gmod__Month_Text__c=='Nov'|| oppforecast.gmod__Month_Text__c=='Dec')
                      {
                          if(Quarter4.containskey(oppforecast.gmod__Product__r.Name))
                             {
                                      Quarter4.put(oppforecast.gmod__Product__r.Name,Quarter4.get(oppforecast.gmod__Product__r.Name) + oppforecast.gmod__Quantity__c);             
                                      Amount4.put(oppforecast.gmod__Product__r.Name,Amount4.get(oppforecast.gmod__Product__r.Name) + oppforecast.gmod__Amount__c);
                             }
                     else
                             {

                                      Quarter4.put(oppforecast.gmod__Product__r.Name, oppforecast.gmod__Quantity__c);
                                      Amount4.put(oppforecast.gmod__Product__r.Name,oppforecast.gmod__Amount__c);

                                     /* wrapperclass w = new wrapperclass();

                                      w.gmod_Opportunity = oppforecast.gmod__Opportunity__r.Name;

                                      w.gmod_Product = oppforecast.gmod__Product__r.Name;

                                      w.gmod_Quantity =oppforecast.gmod__Quantity__c;

                                      w.gmod_Price=oppforecast.gmod__Price__c;

                                      w.Name =oppforecast.Name;

                                      w.gmod_Quarter=oppforecast.gmod__Quarter__c;

                                      w.gmod_Month=oppforecast.gmod__Month__c;

                                      w.gmod_Amount=oppforecast.gmod__Amount__c;

                                      w.Actual_Price=oppforecast.Actual_Price__c;

                                      w.gmod_Year=oppforecast.gmod__Year__c;

                                      w.gmod_date=oppforecast.gmod__date__c;

                                      w.gmod_Month_Text=oppforecast.gmod__Month_Text__c;

                                      w.Forecast_Date=oppforecast.Forecast_Date__c;

                                     disp_list.add(w);*/
                            }

                   }


        for (Quote qt :q){
             System.debug('Quote Size ++ '+q.size());
             System.debug('opp forcast ++ ' +opflist.size());



            for(integer i=0;i<opflist.size();i++){

            subtotalofquantity+= integer.valueOf(opflist[i].gmod__Quantity__c);

           // subtotalofquantity = tempsubtotalofquantity;

            subtotalofamount+= integer.valueOf(opflist[i]. gmod__Amount__c);

            //subtotalofamount =tempsubtotalofamount;

            Integer quarter1subtotalTemp = Integer.valueOf(opflist[i].gmod__Quantity__c);

            quarter1subtotal+=quarter1subtotalTemp;

            System.debug('qty@@@@@@@@@@@@@ ++ ' + subtotalofquantity);

            System.debug('amt############# ++ ' +subtotalofamount);

            System.debug('Qty%%%%%%%%%%% ++ ' +quarter1subtotal);


  //Instantiating the wrapper SObject 

                                        wrapperclass w = new wrapperclass();


                    //Assigning the wrapper variables from the SObject Fields in the database. 

                 w.gmod_Opportunity = opflist[i].gmod__Opportunity__r.Name;

                 w.gmod_Product = opflist[i].gmod__Product__r.Name;

                 w.gmod_Quantity =opflist[i].gmod__Quantity__c;

                 w.gmod_Price=opflist[i].gmod__Price__c;

                 w.Name =opflist[i].Name;

                 w.gmod_Quarter=opflist[i].gmod__Quarter__c;

                 w.gmod_Month=opflist[i].gmod__Month__c;

                 w.gmod_Amount=opflist[i]. gmod__Amount__c;

                 w.Actual_Price=opflist[i].Actual_Price__c;

                 w.gmod_Year=opflist[i].gmod__Year__c;

                 w.gmod_date=opflist[i].gmod__date__c;

                 w.gmod_Month_Text=opflist[i].gmod__Month_Text__c;

                 w.Forecast_Date=opflist[i].Forecast_Date__c; 


                              //Adding everthing to the List  


                            // w.name =qt.name;

                           //   disp_list.add(w);

                              // return disp_list;  
}

}
              }       
              }
         } //End of Class