You need to sign in to do that
Don't have an account?
Gaurav Agnihotri
How to nullify "value" of apex:inputText when a button is clicked
I am working on an apex page. I want the value of Quantity product to be NULL
and class
Regards,
Gaurav
<apex:inputText value="{!QuantityProduct}" label="Quantity"/>when command button action is executed as shown below:
<apex:commandButton action="{!ProcessSelected}" value="Add Selected Items" reRender="block2,errors" oncomplete="clearName();"/>Below is VF page
<apex:page standardController="Quote" extensions="ContactSearchController7" sidebar="false"> <apex:form > <apex:pageMessages id="errors" /> <apex:commandButton action="{!BackToQuote}" value="Back to Quote"/> <apex:pageBlock title="Find Me An Item!" mode="edit"> <apex:commandButton action="{!ProcessSelected}" value="Add Selected Items" reRender="block2,errors" oncomplete="clearName();"/> <table width="100%" border="0"> <tr> <td width="200" valign="top"> <apex:pageBlock title="Parameters" mode="edit" id="criteria"> <script type="text/javascript"> function doSearch() { searchServer( document.getElementById("Name").value, document.getElementById("Description").value, document.getElementById("ProductType").value ); } function clearName() { document.getElementById("Name").value = ''; document.getElementById("Description").value = ''; document.getElementById("ProductType").value = ''; } </script> <apex:actionFunction name="searchServer" action="{!runSearch}" rerender="results,debug,errors" > <apex:param name="Name" value="" /> <apex:param name="Description" value="" /> <apex:param name="ProductType" value="" /> </apex:actionFunction> <table cellpadding="2" cellspacing="2"> <tr> <td style="font-weight:bold;">Item #<br/> <input type="text" id="Name" onkeyup="doSearch();"/> </td> </tr> <tr> <td style="font-weight:bold;">Description<br/> <input type="text" id="Description" onkeyup="doSearch();"/> </td> </tr> <tr> <td style="font-weight:bold;">Product Type<br/> <input type="text" id="ProductType" onkeyup="doSearch();"/> </td> </tr> </table> </apex:pageBlock> <apex:pageBlock title="Quantity" mode="edit" id="criteria2"> <table cellpadding="2" cellspacing="2"> <tr> <td style="font-weight:bold;">Quantity<br/> <apex:inputText value="{!QuantityProduct}" label="Quantity"/> </td> </tr> </table> </apex:pageBlock> </td> <td valign="top"> <apex:pageBlock mode="edit" id="results"> <apex:pageBlockTable value="{!lstSetController}" var="obj"> <apex:column > <apex:facet name="header"> <apex:inputCheckbox /> </apex:facet> <apex:inputCheckbox value="{!obj.isSelected}" id="InputId"/> </apex:column> <apex:column > <apex:facet name="header"> <apex:commandLink value="Item" rerender="results,debug"> </apex:commandLink> </apex:facet> <apex:outputField value="{!obj.PBE.Name}"/> </apex:column> <apex:column > <apex:facet name="header"> <apex:commandLink value="Description" rerender="results,debug"> </apex:commandLink> </apex:facet> <apex:outputField value="{!obj.PBE.Product2.Description__c}"/> </apex:column> <apex:column > <apex:facet name="header"> <apex:commandLink value="Product Type" rerender="results,debug"> </apex:commandLink> </apex:facet> <apex:outputField value="{!obj.PBE.Product2.Product_Type__c }"/> </apex:column> <apex:column > <apex:facet name="header"> <apex:commandLink value="List Price" rerender="results,debug"> </apex:commandLink> </apex:facet> <apex:outputField value="{!obj.PBE.UnitPrice}"/> </apex:column> </apex:pageBlockTable> <apex:outputPanel > <apex:commandButton value="<<Previous" action="{!previous}" rendered="{!hasPrevious}" reRender="results" /> <apex:commandButton value="Next >>" action="{!next}" rendered="{!hasNext}" reRender="results" /> </apex:outputPanel> </apex:pageBlock> </td> </tr> </table> <apex:pageBlock title="Selected Products" mode="edit"> <apex:pageBlockTable value="{!selectedAccounts}" var="obj" id="block2"> <table cellpadding="2" cellspacing="2"> <tr> <td> <apex:column value="{!obj.product2.Item__c}" /> </td> </tr> <apex:column value="{!obj.product2.Description__c}"/> <apex:column value="{!obj.Product2.Product_Type__c}"/> <apex:column value="{!obj.UnitPrice}"/> <apex:column value="{!obj.Quantity__c}"/> </table> </apex:pageBlockTable> </apex:pageBlock> <!-- <apex:pageBlock title="Debug - SOQL" id="debug"> <apex:outputText value="{!debugSoql}" /> <!--apex:outputText value="{!QuoteId}" /--> <!--apex:outputText value="{!QuantityProduct}" /--> <!--apex:outputText value="{!Productcount}" /--> <!-- <br></br> --> <!--apex:outputText value="{!sProductid}"/--> <!-- </apex:pageBlock> --> </apex:pageBlock> </apex:form> </apex:page>
and class
public class ContactSearchController7 { // the soql without the order and limit private String soql {get;set;} //coping it from class CustomPaginationDemoPBE public List<ProductWrapper> lstWrapper {get;set;} public List<ProductWrapper> lstSetController{get;set;} CustomIterablePBE obj; //copy done public integer QuantityProduct {get;set;} private String QuoteNumber {get;set;} private String QuoteName {get;set;} private String OptyId {get;set;} //public String firstNameval{get;set;} // public list<wrapproduct> wrapproductList { get; set; } public list<PricebookEntry> selectedAccounts{get; set; } //GA 8/26/2015 commented- Code Coverage //this list is added by GA 8-17 //The main purpose of this list is to inserts records in Quote Line Item /* Public List<QuoteLineItem> items{get; set; } public String QuoteId{ get{return 'Quote#='+QuoteNumber +' name:'+QuoteName+' OptyId=' +OptyId;} set; } */ // format the soql for display on the visualforce page public String debugSoql { get { return soql; } set; } /* public ApexPages.StandardSetController con { get; set; } */ public ContactSearchController7(ApexPages.StandardController controller) { wrapproductList = new list<wrapproduct>(); selectedAccounts=new list<PricebookEntry>(); //GA 8/26/2015 commented- Code Coverage // items=new list<QuoteLineItem>(); //coping it from class CustomPaginationDemoPBE lstWrapper = new List<ProductWrapper>(); lstSetController = new List<ProductWrapper>(); //copy done soql ='SELECT product2.Product_Type__c,product2.Description__c,product2.Item__c,product2.CCO_Standard_Cost__c ,name, ProductCode,UnitPrice,Quantity__c,select_product__c FROM PricebookEntry WHERE UnitPrice IN (null)'; QuoteNumber=System.currentPageReference().getParameters().get('id'); QuoteName=System.currentPageReference().getParameters().get('name'); OptyId=System.currentPageReference().getParameters().get('OpportunityId'); runQuery(); } // runs the actual query Public PageReference AddProduct(){ return null; } public void runQuery() { try { soql=soql + ' limit 100'; //wrapproductlist.clear(); lstWrapper.clear(); wrapproductlist.clear(); //cleaning values in Con : Standard Set Controller //con=null; List<PricebookEntry> lstContact = Database.query(soql); for(PricebookEntry PBE : lstContact ) { lstWrapper.add(new ProductWrapper(PBE ,false)); } obj = new CustomIterablePBE (lstWrapper); obj.setPageSize = 17; next(); } catch (Exception e) { ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, 'Ooops!'+e)); } } // runs the search with parameters passed via Javascript public PageReference runSearch() { String Name = Apexpages.currentPage().getParameters().get('Name'); String Description= Apexpages.currentPage().getParameters().get('Description'); String ProductType= Apexpages.currentPage().getParameters().get('ProductType'); //GA added 9/9/2015 // String Quantity =Apexpages.currentPage().getParameters().get('Quantity'); /* Gaurav Commented 09/02 soql = 'SELECT product2.Product_Type__c,product2.Description__c,Id,product2.Item__c,Name,product2.CCO_Standard_Cost__c,UnitPrice,Quantity__c,select_product__c FROM PricebookEntry where name != null'; if (ProductType!=null) soql += ' and Product2.Product_Type__c LIKE \''+String.escapeSingleQuotes(ProductType)+'%\''; if (Description!=null) soql += ' and Product2.Description__c LIKE \''+String.escapeSingleQuotes(Description)+'%\''; if (Name!=null) soql += ' and name LIKE \''+String.escapeSingleQuotes(Name)+'%\''; */ //soql = 'SELECT ProductCode FROM Product2'; if(ProductType.length()>1 || Description.length()>1 || Name.length()>1) { //if (ProductType==null && Description==null && Name==null) //{ // soql='SELECT product2.Product_Type__c,product2.Description__c,Id,product2.Item__c,Name,product2.CCO_Standard_Cost__c,UnitPrice,Quantity__c,select_product__c FROM PricebookEntry where name=null and Product2.Product_Type__c=null and Product2.Description__c =null'; //} if (ProductType.length()>0 && Description.length()>0 && Name.length()==0) { soql='SELECT product2.Product_Type__c,product2.Description__c,Id,product2.Item__c,Name,product2.CCO_Standard_Cost__c,UnitPrice,Quantity__c,select_product__c FROM PricebookEntry where Product2.Description__c LIKE \''+String.escapeSingleQuotes(Description)+'%\'' +' and Product2.Product_Type__c LIKE \''+String.escapeSingleQuotes(ProductType)+'%\''; } if (ProductType.length()>0 && Description.length()==0 && Name.length()==0) { soql='SELECT product2.Product_Type__c,product2.Description__c,Id,product2.Item__c,Name,product2.CCO_Standard_Cost__c,UnitPrice,Quantity__c,select_product__c FROM PricebookEntry where Product2.Product_Type__c LIKE \''+String.escapeSingleQuotes(ProductType)+'%\''; } if (ProductType.length()>0 && Description.length()>0 && Name.length()>0) { soql='SELECT product2.Product_Type__c,product2.Description__c,Id,product2.Item__c,Name,product2.CCO_Standard_Cost__c,UnitPrice,Quantity__c,select_product__c FROM PricebookEntry where Product2.Description__c LIKE \''+String.escapeSingleQuotes(Description)+'%\'' +' and Product2.Product_Type__c LIKE \''+String.escapeSingleQuotes(ProductType)+'%\'' +' and name LIKE \''+String.escapeSingleQuotes(Name)+'%\''; } if (ProductType.length()>0 && Name.length()>0 && Description.length() == 0) { soql='SELECT product2.Product_Type__c,product2.Description__c,Id,product2.Item__c,Name,product2.CCO_Standard_Cost__c,UnitPrice,Quantity__c,select_product__c FROM PricebookEntry where Product2.Product_Type__c LIKE \''+String.escapeSingleQuotes(ProductType)+'%\'' +' and name LIKE \''+String.escapeSingleQuotes(Name)+'%\''; } if (ProductType.length() == 0 && Description.length() >0 && Name.length() >0) { soql='SELECT product2.Product_Type__c,product2.Description__c,Id,product2.Item__c,Name,product2.CCO_Standard_Cost__c,UnitPrice,Quantity__c,select_product__c FROM PricebookEntry where Product2.Description__c LIKE \''+String.escapeSingleQuotes(Description)+'%\'' +' and name LIKE \''+String.escapeSingleQuotes(Name)+'%\''; } if (ProductType.length() == 0 && Description.length() == 0 && Name.length() >0) { soql='SELECT product2.Product_Type__c,product2.Description__c,Id,product2.Item__c,Name,product2.CCO_Standard_Cost__c,UnitPrice,Quantity__c,select_product__c FROM PricebookEntry where name LIKE \''+String.escapeSingleQuotes(Name)+'%\''; } }//end if if (ProductType.length()==0 && Description.length()>0 && Name.length()==0) { soql='SELECT product2.Product_Type__c,product2.Description__c,Id,product2.Item__c,Name,product2.CCO_Standard_Cost__c,UnitPrice,Quantity__c,select_product__c FROM PricebookEntry where Product2.Description__c LIKE \''+String.escapeSingleQuotes(Description)+'%\''; } /*if (ProductType.length()>3) { soql='SELECT product2.Product_Type__c,product2.Description__c,Id,product2.Item__c,Name,product2.CCO_Standard_Cost__c,UnitPrice,Quantity__c,select_product__c FROM PricebookEntry where name=null and Product2.Product_Type__c=null and Product2.Description__c =null'; } */ // run the query again if(ProductType.length()>1 || Description.length()>1 || Name.length()>1){ runQuery(); } if (ProductType.length()==0 && Description.length()==0 && Name.length()==0){ soql='SELECT product2.Product_Type__c,product2.Description__c,Id,product2.Item__c,Name,product2.CCO_Standard_Cost__c,UnitPrice,Quantity__c,select_product__c FROM PricebookEntry where name=null and Product2.Product_Type__c=null and Product2.Description__c =null'; runQuery(); } return null; } //### SELECTED PRODUCT SHOWN BY THIS METHOD public pagereference ProcessSelected(){ //Apexpages.currentPage().getParameters().put ('Name',null); //system.currentPageReference().getParameters().put('Name',null); //GA Added 09/09/2015 //String Quantity=Apexpages.currentPage().getParameters().get('Quantity'); //QuantityProduct= integer.valueOf(Quantity); integer sAccountCount=[SELECT count() FROM Quote WHERE Pelco_Account_Name__c != null AND Id =: QuoteNumber]; String CustomerNumber='0'; integer CustomerNumberCount; string AccountName; String ItemNumber='0'; if (sAccountCount>0){ Id AccountId= [SELECT Pelco_Account_Name__c FROM Quote WHERE Pelco_Account_Name__c != null AND Id =: QuoteNumber].Pelco_Account_Name__c; CustomerNumberCount=[SELECT count() from Account WHERE Id =: AccountId and AccountNumber != null ]; if(CustomerNumberCount == 0){ AccountName=[SELECT name from Account where Id =: AccountId].name; ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'Pricing not possible. Customer Number is null. Please add Customer Number for Account Name: '+AccountName)); } if (CustomerNumberCount> 0){ CustomerNumber=[SELECT AccountNumber FROM Account WHERE Id =: AccountId].AccountNumber; } } if (sAccountCount == 0){ Id AccountId= [SELECT AccountId FROM Quote WHERE Pelco_Account_Name__c != null AND Id =: QuoteNumber].Pelco_Account_Name__c; CustomerNumber=[SELECT AccountNumber FROM Account WHERE Id =: AccountId].AccountNumber; } Integer Count=0; for(productwrapper wrapobj1:lstWrapper){ if(wrapobj1.isSelected==true){ Count=Count+1;}//end if }//end for if (Count > 5 ){ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'Please select 5 or less items at a time to add to Quote')); }//end if if(QuantityProduct> 0 && CustomerNumberCount>0 && Count<=5){ //for(wrapproduct wrapobj:wrapproductlist){ //count=wraprojectlist.isSelected.size(); for(productwrapper wrapobj:lstWrapper){ if(wrapobj.isSelected==true){ Integer ProductCount=[SELECT count() FROM QuoteLineItem WHERE Product2Id =: wrapobj.PBE.Product2.Id AND QuoteId =: QuoteNumber]; if (ProductCount == 0 ){ wrapobj.PBE.Quantity__c=QuantityProduct; selectedAccounts.add(wrapobj.PBE); ItemNumber= wrapobj.PBE.Name; QuoteLineItem pi= new QuoteLineItem(); //double DealerPrice=wrapobj.PBE.UnitPrice; CalculatePelcoDiscount1 NewDiscount= new CalculatePelcoDiscount1(); double sDiscount=NewDiscount.CalculatePelcoDiscount1(ItemNumber,CustomerNumber )*100; CalculatePelcoPrice newPrice=new CalculatePelcoPrice(); double DealerPrice=newPrice.CalculatePelcoPrice(ItemNumber,CustomerNumber ); string pelcoCurrency=newPrice.CalculatePelcoCurrency(CustomerNumber); //double DealerPrice=pelcoPrice; //double sDiscount=PelcoDiscount; //sDiscount=sDiscount*100; //QuoteLineItem QLI = new QuoteLineItem(QuoteId = QuoteNumber,PricebookEntryId=wrapobj.accn.Id,Product2Id=wrapobj.accn.Product2.Id ,Quantity = wrapobj.accn.Quantity__c, UnitPrice=wrapobj.accn.UnitPrice,discount=sDiscount); //Gaurav Added 9/2- Due to changes in percentage sDiscount=sDiscount/100; QuoteLineItem QLI = new QuoteLineItem(Currency__c=pelcoCurrency,QuoteId = QuoteNumber,PricebookEntryId=wrapobj.PBE.Id,Product2Id=wrapobj.PBE.Product2.Id ,CCO_Standard_Cost__c =wrapobj.PBE.Product2.CCO_Standard_Cost__c,Quantity = QuantityProduct, UnitPrice=DealerPrice,Dealer_Price__c=DealerPrice, discount=sDiscount); insert QLI; //QuantityProduct=null; //wrapobj.PBE.Quantity__c=null; /*Database.SaveResult[] lsr=Database.insert(new QuoteLineItem[]{QLI}); for(Database.SaveResult sr: lsr){ if(!sr.isSuccess()){ Database.Error err = sr.getErrors()[0]; ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,'Error in Insert')); }//end if sr }//end for */ // populating and then adding data in the List /* pi.Currency__c=pelcoCurrency; pi.QuoteId = QuoteNumber; pi.PricebookEntryId=wrapobj.PBE.Id; pi.Product2Id=wrapobj.PBE.Product2.Id; pi.Quantity = QuantityProduct; pi.UnitPrice=DealerPrice; pi.Dealer_Price__c=DealerPrice; pi.discount=sDiscount; items.add(pi);*/ }//end if ProductCount if (ProductCount > 0 ){ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'You have already added '+wrapobj.PBE.name)); }//end if // }//end if /* */ }//end if }//end for QuantityProduct=null; }//end if QuantityProduct> 0 // inserting the records in Quote Items /* if(items.size() > 0 ) { insert items; } */ if(QuantityProduct== 0){ ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'Please Add the Qantity of Item')); } return null; }//end function public PageReference BackToQuote(){ string Oppty_Id=[SELECT OpportunityId FROM Quote WHERE Id =: QuoteNumber].OpportunityId; boolean AccntOpty=[SELECT Account_Opportunity__c FROM Opportunity WHERE Id =: Oppty_Id].Account_Opportunity__c; if (AccntOpty== true){ return new PageReference('/apex/newquotepage?id='+QuoteNumber); } if (AccntOpty == false){ return new PageReference('/'+QuoteNumber); } return new PageReference('/'+QuoteNumber); } public Boolean hasNext { get { return obj.hasNext(); } set; } public Boolean hasPrevious { get { return obj.hasPrevious(); } set; } public void next() { lstSetController = obj.next(); } public void previous() { lstSetController = obj.previous(); } }
Regards,
Gaurav
public pagereference ProcessSelected(){
QuantityProduct = 0;
}
Please let us know if this will help you
Thanks
Amit Chaudhary
If I update QuantityProduct to 0. it does not reflect the value in VF page. I need to so something in the VF page.
Regards,
Gaurav
I think there must be something to do with reRender. On the button click you have reRendered only the block2 try adding the criteria2 so that even that block will be reRendered.
Also as amit said you can also make that value to null on the processSelected method.
Hope this might help you.
Thanks!