You need to sign in to do that
Don't have an account?

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 \
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; } } }
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
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.
Please find my fetchdata funcation please suggest me before I call this funcation it must clear and fetch
Thanks
Sudhir