Visualforce Page:
<apex:page controller="myproductscls">
<apex:form >
<apex:pageBlock >
<apex:actionFunction name="call" action="{!show}"/>
<div align="center">
Product Family:<apex:selectlist value="{!selectopt}" size="1" onchange="call()">
<apex:selectOptions value="{!items}"/>
</apex:selectlist>
</div>
<apex:pageBlockTable value="{!lmw}" var="l">
<apex:column headerValue="Select">
<apex:inputCheckbox value="{!l.selected}"/>
</apex:column>
<apex:column value="{!l.prodname}" headerValue="Name"/>
<apex:column value="{!l.prodfamily}" headerValue="Family"/>
</apex:pageBlockTable>
<apex:pageBlockButtons >
<apex:commandButton value="Add" action="{!addprod}"/>
</apex:pageBlockButtons>
</apex:pageBlock>
</apex:form>
</apex:page>
Apex Class:
public with sharing class myproductscls
{
public PageReference addprod()
{
String oppid = Apexpages.currentpage().getparameters().get('opid');
List<OpportunityLineItem> listopp=new List<OpportunityLineItem>();
for(mywrapper w:lmw)
{
if(w.selected==true)
{
system.debug('-------------------------------------------------------------wrappers class boolean value is true');
Opportunity oppor = [select pricebook2id from opportunity where id =:oppid ];
List<pricebookentry> lpbe = [select id from pricebookentry where product2id = :w.prodid and pricebook2id =:oppor.pricebook2id];
for(pricebookentry pbe : lpbe)
{
opportunitylineitem ol = new opportunitylineitem();
ol.pricebookentryid = pbe.id;
ol.Opportunityid = oppid;
ol.totalprice = 100.00;
ol.quantity = 10;
listopp.add(ol);
}
}
}
insert listopp;
return new Pagereference('/'+oppid);
}
List<Product2> lp ;
public List<mywrapper> lmw {get; set;}
public List<selectoption> items {get; set;}
public String selectopt {get; set;}
public myproductscls(){
items= new List<selectOption>();
Schema.describefieldresult f= Schema.sobjecttype.Product2.fields.Family;
System.debug('--------->'+f.getpicklistvalues());
List<Schema.PicklistEntry> lst= f.getpicklistvalues();
items.add(new selectoption('--','-None-'));
for(Schema.PicklistEntry s: lst){
items.add(new selectOption(s.getvalue(), s.getlabel()));
}
lmw = new List<mywrapper>();
lp =[select name,family from product2];
if(lp.size()>0)
{
for(product2 p : lp)
{
lmw.add(new mywrapper(p.name,p.family,p.id));
}
}
}
public class mywrapper
{
public String prodname{get; set;}
public String prodid{get; set;}
public String prodfamily{get; set;}
public Boolean selected{get; set;}
public mywrapper(String pname, String pfamily, String pid)
{
prodname = pname;
prodid = pid;
prodfamily = pfamily;
selected = false;
}
}
public PageReference show(){
lmw = new List<mywrapper>();
lp=[select id,Name,Family from Product2 where Family=:selectopt];
System.debug('---------------------------------------'+lp.size());
if(lp.size()>0){
for(Product2 pp:lp){
lmw.add(new mywrapper(pp.name,pp.family,pp.id));
}
}
else{
lmw=null;
}
return null;
}
}
No comments:
Post a Comment