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
Sudhir_MeruSudhir_Meru 

How to Clear List

Hi, 

  I wrote a pagination using wrapper class. Problem am facing is search is not getting cleared in visual force page. Please suggest me how to clear \

public with sharing class CCW_ContactPaginationController {
  public boolean createTemp = true; 
  public boolean OnlyForTestRun = true;
  //URL Passing Parameters. 
  String cancelURL;
  public String PageContractId = ApexPages.currentPage().getParameters().get('ContractId');     
  public String PageAccountId  = ApexPages.currentPage().getParameters().get('AccountId');   
  
 public string baseURL{get;set;}
 public String existingId{get;set;}

  public Asset   GetAccount{get;set;}
  public Asset   GetContract{get;set;} 
  public Asset   GetExpireDate{get;set;}
  public Asset   GetReseller{get;set;}
  public Asset   GetDistributor{get;set;}
  public String  IncumbentReseller{get;set;}
  public String  Education{get;set;}
  public Asset   GetOpportunity{get;set;}
  public Asset   GetNewOpportunity{get;set;}
  public String  ExpireTerms{get;set;}
  public boolean bundsprt{get;set;}
  public boolean Monthly_Quote {get;set;}
  public String pricebook {get; set;}
  
  //Our collection to class/wrapper objects wrapAsset
  public List<CCWRowItem> wrapAssetList {get; set;}
  public List<Asset> selectedAssets{get;set;} 
  public List<Temp_Assets__c>  TempAssetList;
   /*
    *   item in context from the page
    */
    public String contextItem{get;set;}
    public String contextItem2{get;set;}
 
 
    /*
    *   set controller
    */
    public ApexPages.StandardSetController setCon;
    
    
    /*
    *   the contact ids selected by the user
    */
    private Set<Id> selectedContactIds;
    private Set<Id> selectedContactIds2= new set<Id>();
    
    
    /*
    *   constructor
    */
    public CCW_ContactPaginationController()
    {    
      GetAccount = new Asset();    //Get Account Id from Page 
      GetContract = new Asset();   //Get Contract Name from Page   
      GetExpireDate = new Asset();   // Date Picker   
      GetReseller = new Asset(); 
      GetDistributor = new Asset();  
      GetOpportunity = new Asset();   // Get Opportunity Id 
      GetNewOpportunity = new Asset();  // Get New Opportunity Name    
      
      fetch_data(); 
            
      if (PageAccountId !=null ) { cancelURL = pageAccountId;
      }
      else if (PageContractId != null ) { cancelURL = PageContractId; }
      else { cancelURL = 'home/home.jsp'; }
      System.debug('### Contract Id is: '+ PageContractId);
      System.debug('### Account Id is: '+ PageAccountId);
      
     }
   
   
   /***************************************Sorting functionality Added******************************************************/
   public String sortDir {
        // To set a Direction either in ascending order or descending order.
        get  { if (sortDir == null) {  sortDir = 'desc'; } return sortDir;}
        set;
    }

    // the current field to sort by. defaults to last name
    public String sortField {
        // To set a Field for sorting.
        get  { if (sortField == null) {sortField = 'Service_End_Date_Max__c'; } return sortField;  }
        set;
    }
    
    //Declaring Variables for Dynamic SOQL
    public String soql {get; set;}
    Set<id> accId = new Set<Id>();
    Set<Id> contractId = new Set<Id>();
    
   /***************************************Sorting functionality ends here**************************************************/    
   public void fetch_data ()
   {
        // simply toggle the direction
        sortDir = sortDir.equals('asc') ? 'desc' : 'asc';
        //init variable
        this.selectedContactIds= new Set<Id>();
        //gather data set        

      //instantiating the query
      soql = 'SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c, last_contract_Id__c, Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE '; // AccountId IN ';         
      
      Try 
       {  
      
       if ( GetAccount.AccountId == NULL && GetContract.Name == NULL )   
        {   
       
         if ( PageAccountId != NULL && PageContractId == NULL ) {  accId.add(pageAccountId); soql += 'AccountId IN :accId Order by ' + sortField + ' ' + sortDir + ' Limit 1000'; }
           //below line commented for Sorting       
          //this.setCon = new ApexPages.StandardSetController( [SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c,Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE AccountId = :PageAccountId Order by Service_End_Date_Max__c Desc Limit 1000] );
             //Adding the Account Id into the set so that it can be used in the dynamic SOQL
            // accId.add(pageAccountId);
            // soql = 'SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c, last_contract_Id__c, Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE '; // AccountId IN ';
           //  soql += 'AccountId IN :accId Order by ' + sortField + ' ' + sortDir + ' Limit 1000';
            // this.setCon = new ApexPages.StandardSetController(Database.query(soql));
        // }
         else if ( PageAccountId == NULL && PageContractId != NULL ) { contractId.add(pageContractId);  soql += 'last_contract_ID__c IN :contractId Order by ' + sortField + ' ' + sortDir + ' Limit 1000';}
         
         /*Contract C;
         C = [SELECT Name, ContractNumber FROM Contract WHERE Id = :PageContractId Limit 1]; 
         this.setCon = new ApexPages.StandardSetController( [SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c,last_contract_ID__c,Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE last_contract_number__c = :C.Name Order by Service_End_Date_Max__c Desc Limit 1000] );
         */    
            // contractId.add(pageContractId);
             //soql = 'SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c,last_contract_ID__c,Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE '; //last_contract_ID__c IN';
             //soql += 'last_contract_ID__c IN :contractId Order by ' + sortField + ' ' + sortDir + ' Limit 1000';
             //this.setCon = new ApexPages.StandardSetController(Database.query(soql));
        // this.setCon = new ApexPages.StandardSetController( [SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c,last_contract_ID__c,Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE last_contract_ID__c = :PageContractId Order by Service_End_Date_Max__c Desc Limit 1000] );
         
        // }
         else 
         { 
             accId.add('0013000000DULXG');
            // soql = 'SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c, last_contract_Id__c, Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE '; //AccountId IN ';
             soql += 'AccountId IN :accId Order by ' + sortField + ' ' + sortDir + ' Limit 1000';
             //this.setCon = new ApexPages.StandardSetController(Database.query(soql));
         //this.setCon = new ApexPages.StandardSetController( [SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c,Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE AccountId = '0013000000DULXG' Order by Service_End_Date_Max__c Desc Limit 1000] );                                            
         }
         //test
        // this.setCon = new ApexPages.StandardSetController(Database.query(soql));
        }
      else if ( GetAccount.AccountId != NULL && GetContract.Name == NULL ) {  accId.add(GetAccount.AccountId); soql += 'AccountId IN :accId Order by ' + sortField + ' ' + sortDir + ' Limit 1000'; }
            //this.setCon = new ApexPages.StandardSetController( [SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c,Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE AccountId = :GetAccount.AccountId Order by Service_End_Date_Max__c Desc Limit 1000] ); 
        
           /* accId.add(GetAccount.AccountId);
            System.debug('==== This if statement with set as: ' + accId);
            System.debug('==== This if statement with accId as: ' + GetAccount.AccountId);
          //  soql = 'SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c, last_contract_Id__c, Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE ';//AccountId IN ';
            soql += 'AccountId IN :accId Order by ' + sortField + ' ' + sortDir + ' Limit 1000';
           // this.setCon = new ApexPages.StandardSetController(Database.query(soql));
         } */
       else if ( GetAccount.AccountId == NULL && GetContract.Name != NULL ) { Contract c = [Select id from Contract where name =: GetContract.Name]; contractId.add(c.id); soql += 'last_contract_ID__c IN :contractId Order by ' + sortField + ' ' + sortDir + ' Limit 1000'; }
       /* System.debug('===GetContractName is: ' + GetContract.Name);
            Contract c = [Select id from Contract where name =: GetContract.Name];
            System.debug('===GetContractName is: ' + c);
            contractId.add(c.id);
           // soql = 'SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c,last_contract_ID__c,Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE ';//last_contract_ID__c IN';
            soql += 'last_contract_ID__c IN :contractId Order by ' + sortField + ' ' + sortDir + ' Limit 1000';
           // this.setCon = new ApexPages.StandardSetController(Database.query(soql));
        
       //this.setCon = new ApexPages.StandardSetController( [SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c,Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE last_contract_number__c  = :GetContract.Name Order by Service_End_Date_Max__c Desc Limit 1000] );
        } */
       else if ( GetAccount.AccountId != NULL && GetContract.Name != NULL ) {  accId.add(GetAccount.AccountId); Contract c = [Select id from Contract where name =: GetContract.Name]; contractId.add(c.id); soql += 'last_contract_ID__c IN :contractId AND AccountId IN' + ':accId Order by ' + sortField + ' ' + sortDir + ' Limit 1000';}
           /* accId.add(GetAccount.AccountId);
            Contract c = [Select id from Contract where name =: GetContract.Name];
            System.debug('===GetContractName is: ' + c);
            contractId.add(c.id);
           // soql = 'SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c,last_contract_ID__c,Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE '; //last_contract_ID__c IN';
            soql += 'last_contract_ID__c IN :contractId AND AccountId IN' + ':accId Order by ' + sortField + ' ' + sortDir + ' Limit 1000';
            //this.setCon = new ApexPages.StandardSetController(Database.query(soql));
            
        //this.setCon = new ApexPages.StandardSetController( [SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c,Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE AccountId = :GetAccount.AccountId and last_contract_number__c = :GetContract.Name  Order by Service_End_Date_Max__c Desc  Limit 1000] );
        } */
       else { this.setCon = new ApexPages.StandardSetController( [SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c,Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE AccountId = '0013000000DULXG' Order by Service_End_Date_Max__c Desc Limit 1000] ); } 
        this.setCon = new ApexPages.StandardSetController(Database.query(soql));   
        System.debug('##== Setcon is returning: '+ this.setcon.getrecord());
      }
      
      catch(Exception e) { this.setCon = new ApexPages.StandardSetController( [SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c,Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE AccountId = '0013000000DULXG' Order by Service_End_Date_Max__c Desc Limit 1000] );  }            
       
        if(this.setCon != null){                                        
        this.setCon.setpageNumber(1);
        this.setCon.setPageSize(25);
        }
   } 
   
       
    /*
    *   handle item selected
    */
    public void doSelectItem(){        
        this.selectedContactIds.add(this.contextItem);     
        System.debug('##== SelectedContactIDs is: '+ selectedContactIds);   
    }
    
    public void doSelectItem2(){        
        this.selectedContactIds2.add(this.contextItem2);   
        System.debug('##== SelectedContactIDs2 is: '+ selectedContactIds2);       
    }
    
    
    /*
    *   handle item deselected
    */
    public void doDeselectItem(){        
        this.selectedContactIds.remove(this.contextItem);        
    }
    
    public void doDeselectItem2(){        
        this.selectedContactIds2.remove(this.contextItem2);        
    }
    
    
    /*
    *   return count of selected items
    */
    public Integer getSelectedCount(){
        System.debug('##== Size of the selectedCount is: '+ this.selectedContactIds.size());
        return this.selectedContactIds.size();
        
    }
    
    
    /*
    *   advance to next page
    */
    public void doNext(){        
        if(this.setCon.getHasNext()){ this.setCon.next();}
    }     
    
    
    /*
    *   advance to previous page
    */
    public void doPrevious(){        
        if(this.setCon.getHasPrevious()) { this.setCon.previous(); }
    }
    
    public List<CCWRowItem> rows {get; set;}
    
    /*
    *   return current page of groups
    */
    public List<CCWRowItem> getContacts(){        
       try  
        {
        rows = new List<CCWRowItem>();      
        System.debug('##== rows is: '+ rows);
        for(sObject r : this.setCon.getRecords()){
            Asset c = (Asset)r;
            System.debug('##== 1 - sellected contactids ' + this.selectedContactIds);
            System.debug('##== 1 - Asset c is: ' + c);
            CCWRowItem row = new CCWRowItem(c);
            if(this.selectedContactIds.contains(c.Id)){ row.IsSelected=true; if (this.selectedContactIds2.contains(c.Id)){
                    row.BundelSelected=true; bundsprt=true;
                }
                else { row.BundelSelected=false; bundsprt=false;
                }
            }
            else { row.IsSelected=false;
            }
            rows.add(row);            
        }             
        return rows;
        }
        catch(Exception e) { return null; }     
    }
  
  //Retrieve the Record Type id for Renewals Opportunity for the SOQL query
  RecordType renewal_RT = [Select id, Name, sObjectType from RecordType where sObjectType= 'Opportunity' and Name = 'Renewal Opportunity' ];
  
 // Store Selected Records to Object/Table
    public PageReference processSelected() {
        Integer currentPageNumber = setCon.getPageNumber();
        selectedAssets = new List<Asset>();
        //list<Temp_Assets__c> TempAssetList = new list<Temp_Assets__c>();  
        TempAssetList = new list<Temp_Assets__c>();      
        
        setCon.setpageNumber(1);
        PageReference resend;
        
        
        while(true){
            List<Asset>  TempAssetLists = (List<Asset>)setCon.getRecords();
            System.debug('### TempAssetlist are: '+ tempAssetLists);
            //TempAssetLists = (List<Asset>)setCon.getRecords();
            for(Asset assetIns : TempAssetLists  ) {
              System.debug('###= Inside the for loop');
              if(this.selectedContactIds.contains(assetIns.Id)){ selectedAssets.add(assetIns);
              }
              
            }
            System.debug('###= Selected Assets are: '+ selectedAssets);
            if(setCon.getHasNext()){setCon.next();
            }
            else{
                break;
            } 
   
        }  
        /**********Added by Unnat*********************************/
        //below code should only execute if Expiry term has a value
        Date maxDate; //=Date.valueOf('2000-1-1');
        Date minDate;
        System.debug('### selected Assets is: ' + selectedAssets);
        //Calculate the maximum Date off of the selected dates
      
        //finds the latest expiry date out of the selected assets
        for (Asset assets: selectedAssets) {
            if((assets.Service_End_Date_Max__c > maxDate) || (maxDate == null)) {
                maxDate=assets.Service_End_Date_Max__c;
            }
        }
        System.debug('== Latest Service end Date is:'+ maxDate);
        minDate = maxDate;
        for (Asset assets: selectedAssets) { if(minDate > assets.Service_End_Date_Max__c) { minDate=assets.Service_End_Date_Max__c;}
        }
        System.debug('== Least Service end Date is:'+ minDate);
        
        
      
        //Validations 
        if(!Test.isRunningtest()) {
        if ((selectedAssets.size() < 1 ) || (expireTerms == '0' && GetExpireDate.Expire_Date__c== null )|| (expireTerms != '0' && GetExpireDate.Expire_Date__c!= null ) || (GetDistributor.Primary_Distributor__c == null ) || (GetReseller.Primary_Reseller__c == null ) || (GetOpportunity.Opportunity__c==null && GetNewOpportunity.New_Opportunity__c== null ) || (GetOpportunity.Opportunity__c!=null && GetNewOpportunity.New_Opportunity__c!= null )|| (GetExpireDate.Expire_Date__c < maxDate ))
        {
            createTemp = false;
            //Validates that atleast one of the assets is selected from the install base
            if(selectedAssets.size() < 1 ){
                ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,'Please select atleast one Asset to renew from the Install Base.'));
            }
            //Validates that atleast one of the Expiry Dates needs to have a value
            if(expireTerms == '0' && GetExpireDate.Expire_Date__c== null ){ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,'Please enter the Expiry Term or Expiry Date for the selected Assets.')); }
            //Valation that only of the Expirty Dates can have a value
            else if(expireTerms != '0' && GetExpireDate.Expire_Date__c!= null ){ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,'You can enter a value either in Expiry Date or Expiry Term, but not in both.')); }
            //Validation that the Distributor Name is required
            if(GetDistributor.Primary_Distributor__c == null ){
                ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,'Please enter a value in Distributor'));
            }
            //Validation that Reseller Name is required
            if(GetReseller.Primary_Reseller__c == null ){
                ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,'Please enter a value in Reseller'));
            } 
            //Validation that atleast one Opportunity needs to have a value
            if((GetOpportunity.Opportunity__c==null && GetNewOpportunity.New_Opportunity__c== null ) || (GetOpportunity.Opportunity__c!=null && GetNewOpportunity.New_Opportunity__c!= null )){
                ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,'Please enter a value either in Opportunity or New Opportunity.'));
            }
          
            //Validation that will check if the Expiry Date has value less than the selected Asset Service End Date
            if(GetExpireDate.Expire_Date__c < maxDate ){ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,'Expiry Date that you entered is lower than Service End Date of the Asset'));}
            if(pricebook == 'none') { ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error,'Please select the pricebook for this New Opportunity'));}         
           return null;
        }
        }
       // else {
        if  (createTemp = true) {
        //below code should only execute if Expiry term has a value
        //Date maxDate=Date.valueOf('2000-1-1');
        //Calculate the maximum Date off of the selected dates
        
        if (ExpireTerms !=null) {
        System.debug('== Expire Terms has a value');
            
            System.debug('== ExpireTerms is: '+ ExpireTerms);
            if (ExpireTerms=='1') {
                System.debug('== First if condition');
                maxDate=maxDate.addYears(1);
            }
            else if (ExpireTerms == '3') {
            System.debug('== Second if condition');
                maxDate=maxDate.addYears(3);
            }
            else if (ExpireTerms == '5') {
            System.debug('== third if condition');
                maxDate=maxDate.addYears(5);
            }
            else {
                maxDate= GetExpireDate.Expire_Date__c; 
            }
        }
        else {
            System.debug('== Else condition');
            maxDate= GetExpireDate.Expire_Date__c;   
        } 
        System.debug('== Max Date is: ' + maxDate);          
            System.debug('=- after the if condition');           
            Account ResellerAct; 
            Account DistributorAct;  
            Opportunity Oppt;           
          
            for(Asset Act : selectedAssets) {               
                Temp_Assets__c TempAsset = new Temp_Assets__c();
                TempAsset.Name = 'Sudhir';
                TempAsset.AccountId__c = Act.AccountId;
                TempAsset.Product__c = Act.Product2Id;
                //Added by Unnat
                TempAsset.Product_lookup__c= Act.Product2Id;
                System.debug('##== Product Id is: '+ Act.Product2Id);
                TempAsset.Asset_Id__c = Act.Id;
                TempAsset.Serial_Number__c = Act.SerialNumber;
                TempAsset.Last_Contract_Number__c = Act.last_contract_number__c; 
                TempAsset.Service_Start_Date__c = Act.Service_Start_Date_Min__c;
                TempAsset.Opp_Close_Date__c = minDate;
                TempAsset.Monthly_Quote__c = Monthly_Quote;
                System.debug('=- Monthly Quote is: ' + monthly_Quote);
                
                if (Act.Service_End_Date_Max__c != null) {
                    TempAsset.Service_End_Date__c = Act.Service_End_Date_Max__c;
                }
                else {
                    TempAsset.Service_End_Date__c = Act.InstallDate;
                }
                
                TempAsset.Install_Date__c = Act.InstallDate;  
                System.debug ('==== Reseller id is: '+ GetReseller.Primary_Reseller__c);
                TempAsset.Reseller__c = GetReseller.Primary_Reseller__c;
                TempAsset.Distributor__c = GetDistributor.Primary_Distributor__c;
                
                If ( GetOpportunity.Opportunity__c <> NULL )
                {
                Oppt = [SELECT Id FROM Opportunity WHERE ID = :GetOpportunity.Opportunity__c Limit 1];
                TempAsset.Existing_Opportunity__c = Oppt.Id;
                existingId = Oppt.Id; // Get Opportunity Id to Redirect Page
                }                
                TempAsset.Incumbent_Reseller__c = IncumbentReseller;
                TempAsset.Education__c = Education; 
                //TempAsset.Expiry_Date__c = GetExpireDate.Expire_Date__c;
                TempAsset.Expiry_Date__c= maxDate;
                TempAsset.PriceBook_Name__c = pricebook;
                
                TempAsset.New_Opportunity__c = GetNewOpportunity.New_Opportunity__c;
                TempAsset.Expiry_Term__c = ExpireTerms;
                
                /* Insert Bundel Checkbox Value */                
                if (this.selectedContactIds2.contains(Act.Id)){
                    bundsprt=true;
                }
                else {
                    bundsprt=false;
                }
                
                
                TempAsset.Bundle_Support__c = bundsprt; 
                System.debug('== Bundle Value is: ' + bundsprt);
                
                             //Add the selected Assets to the List
                TempAssetList.add(TempAsset);
            }
             
               System.debug('=--2 inserted the list');
               Insert TempAssetList;
               
               if ( GetNewOpportunity.New_Opportunity__c != null ) {
               System.debug('--inside the New opp');
                    Opportunity NewOpt; 
                   NewOpt = [SELECT Id, recordTypeId FROM Opportunity WHERE name = :GetNewOpportunity.New_Opportunity__c AND recordTypeId =: renewal_RT.id AND Support_Expiry_Date__c = :maxDate AND closeDate =: minDate and createdbyid = :UserInfo.getUserId() order by createddate desc Limit 1];
                   existingId = NewOpt.Id; // Get Opportunity Id to Redirect Page   
                   System.debug('-- Opp Id is: '+ newOpt.id);            
               }
               baseUrl = URL.getSalesforceBaseUrl().toExternalForm()+'/';
               System.debug('--Base URL is: '+ baseURL);
               resend = new PageReference(baseURL + existingId);
               resend.setRedirect(true);
                      
       }
      setCon.setpageNumber(currentPageNumber);
      
      return resend;
       
    }

    //Redirect to Account or Contract or Home page upon Cancel
    public PageReference Cancel() {
        return new PageReference('/' + cancelURL); 
    }
    
    /*
    *   return whether previous page exists
    */
    public Boolean getHasPrevious(){       
       try {return this.setCon.getHasPrevious(); } catch(Exception e) { return false;}
    }
   
    /*
    *   return whether next page exists
    */
    public Boolean getHasNext(){       
    try { return this.setCon.getHasNext(); } catch(Exception e) { return false;}
    }

    
    /*
    *   return page number
    */
    public Integer getPageNumber(){   
    try { return this.setCon.getPageNumber(); } catch(Exception e) { return 1; }
    }

    
    /*
    *    return total pages
    */
    Public Integer getTotalPages(){
    Decimal totalSize;
    Decimal pageSize;
    Decimal pages;
    try  
        { 
          totalSize = this.setCon.getResultSize();
          pageSize = this.setCon.getPageSize();      
          pages = totalSize/pageSize;
          return (Integer)pages.round(System.RoundingMode.CEILING);      
        }catch(Exception e) { return 1; }
    }

 
    
    /*
    *   helper class that represents a row
    */
    public with sharing class CCWRowItem{
        
        public Asset tContact{get;set;}
        public Boolean IsSelected{get;set;}
        public Boolean BundelSelected{get;set;}
         
        public CCWRowItem(Asset c){
            this.tContact=c;            
            this.IsSelected=false;
            this.BundelSelected=false;
        }
        
    } 
  
       
     
    
}


Best Answer chosen by Sudhir_Meru
Nilesh Jagtap (NJ)Nilesh Jagtap (NJ)
Hi,

You can use list methos "clear()" to clear list contents
e.g. my_list_name.clear();

If this answers your question, mark this as best answer.
Thanks,
N.J.

All Answers

Nilesh Jagtap (NJ)Nilesh Jagtap (NJ)
Hi,

You can use list methos "clear()" to clear list contents
e.g. my_list_name.clear();

If this answers your question, mark this as best answer.
Thanks,
N.J.
This was selected as the best answer
Sudhir_MeruSudhir_Meru
Hi NJ, 

 Please find my fetchdata funcation please suggest me before I call this funcation it must clear and fetch 

public void fetch_data ()
   {
       
        // simply toggle the direction
        sortDir = sortDir.equals('asc') ? 'desc' : 'asc';
        //init variable
        this.selectedContactIds= new Set<Id>();
        //gather data set        

      //instantiating the query
      soql = 'SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c, last_contract_Id__c, Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE '; // AccountId IN ';         
      
      Try 
       {  
      
       if ( GetAccount.AccountId == NULL && GetContract.Name == NULL )   
        {   
       
         if ( PageAccountId != NULL && PageContractId == NULL )
		 {  
		 accId.add(pageAccountId); 
		 soql += 'AccountId IN :accId Order by ' + sortField + ' ' + sortDir + ' Limit 1000'; 
		 }
           
         else if ( PageAccountId == NULL && PageContractId != NULL ) 
		 { 
		 contractId.add(pageContractId);  
		 soql += 'last_contract_ID__c IN :contractId Order by ' + sortField + ' ' + sortDir + ' Limit 1000';
		 }       
         
         else 
         { 
           accId.add('0013000000DULXG');            
         }         
        }
      else 
	  if ( GetAccount.AccountId != NULL && GetContract.Name == NULL ) 
	  {  
	  accId.add(GetAccount.AccountId); 
	  soql += 'AccountId IN :accId Order by ' + sortField + ' ' + sortDir + ' Limit 1000';
	  }
             
       else if ( GetAccount.AccountId == NULL && GetContract.Name != NULL ) 
	   { 
	   Contract c = [Select id from Contract where name =: GetContract.Name]; 
	   contractId.add(c.id); soql += 'last_contract_ID__c IN :contractId Order by ' + sortField + ' ' + sortDir + ' Limit 1000'; 
	   }
      
       else if ( GetAccount.AccountId != NULL && GetContract.Name != NULL ) 
	   {  
	   accId.add(GetAccount.AccountId); 
	   Contract c = [Select id from Contract where name =: GetContract.Name];
	   contractId.add(c.id); 
	   soql += 'last_contract_ID__c IN :contractId AND AccountId IN' + ':accId Order by ' + sortField + ' ' + sortDir + ' Limit 1000';
	   }
           
       else { this.setCon = new ApexPages.StandardSetController( [SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c,Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE AccountId = '0013000000DULXG' Order by Service_End_Date_Max__c Desc Limit 1000] ); } 
        this.setCon = new ApexPages.StandardSetController(Database.query(soql));   
        System.debug('##== Setcon is returning: '+ this.setcon.getrecord());
      }
      
      catch(Exception e) { this.setCon = new ApexPages.StandardSetController( [SELECT Id, AccountId,Product2Id,SerialNumber,last_contract_number__c,Service_Start_Date_Min__c, Service_End_Date_Max__c,InstallDate,Bundle_Support__c FROM Asset WHERE AccountId = '0013000000DULXG' Order by Service_End_Date_Max__c Desc Limit 1000] );  }            
       
        if(this.setCon != null){                                        
        this.setCon.setpageNumber(1);
        this.setCon.setPageSize(25);
        }
   }


Thanks

Sudhir