Here i am going to post the apex code to make pickList dependencies. Some time it we need to show a contacts of related account. Then we can use pickList dependencies
VF page :-
<apex:page controller="PicklistController">
<apex:sectionHeader title="Picklist dependency"/>
<apex:form id="frm">
<apex:actionFunction name="change" action="{!con}" status="status" reRender="frm"/>
<apex:actionStatus startText="Please wait" id="status"></apex:actionStatus>
<apex:pageBlock >
Account : <apex:selectList value="{!selectList}" size="1" onchange="change(); return false;">
<apex:selectOptions value="{!accts}">
</apex:selectOptions>
</apex:selectList><br/><br/><br/>
contact : <apex:selectList value="{!selectList1}" size="1">
<apex:selectOptions value="{!options1}">
</apex:selectOptions>
</apex:selectList>
</apex:pageBlock>
</apex:form>
</apex:page>
Apex Controller :-
//class..
public class PicklistController{
List<Account> acc {get; set;}
public string selectlist {get; set;}
public string selectlist1 {get; set;}
public List<selectOption> options {get; set;}
public List<selectOption> options1 {get; set;}
//constructor...
public PicklistController(){
acc = new List<Account>();
acc = [select id , name from account];
}
public List<selectOption> getaccts(){
options = new List<selectOption>();
options.add(new selectOption('', '- None -'));
for(Account ac : acc){
options.add(new selectOption(ac.id, ac.Name));
}
return options;
}
public pagereference con(){
options1 = new List<selectOption>();
options1.add(new selectOption('', '- None -'));
for(contact cont : [select id, name from contact where contact.accountid =: selectlist]){
options1.add(new selectOption(cont.id, cont.Name));
}
return null;
}
}
VF page :-
<apex:page controller="PicklistController">
<apex:sectionHeader title="Picklist dependency"/>
<apex:form id="frm">
<apex:actionFunction name="change" action="{!con}" status="status" reRender="frm"/>
<apex:actionStatus startText="Please wait" id="status"></apex:actionStatus>
<apex:pageBlock >
Account : <apex:selectList value="{!selectList}" size="1" onchange="change(); return false;">
<apex:selectOptions value="{!accts}">
</apex:selectOptions>
</apex:selectList><br/><br/><br/>
contact : <apex:selectList value="{!selectList1}" size="1">
<apex:selectOptions value="{!options1}">
</apex:selectOptions>
</apex:selectList>
</apex:pageBlock>
</apex:form>
</apex:page>
Apex Controller :-
//class..
public class PicklistController{
List<Account> acc {get; set;}
public string selectlist {get; set;}
public string selectlist1 {get; set;}
public List<selectOption> options {get; set;}
public List<selectOption> options1 {get; set;}
//constructor...
public PicklistController(){
acc = new List<Account>();
acc = [select id , name from account];
}
public List<selectOption> getaccts(){
options = new List<selectOption>();
options.add(new selectOption('', '- None -'));
for(Account ac : acc){
options.add(new selectOption(ac.id, ac.Name));
}
return options;
}
public pagereference con(){
options1 = new List<selectOption>();
options1.add(new selectOption('', '- None -'));
for(contact cont : [select id, name from contact where contact.accountid =: selectlist]){
options1.add(new selectOption(cont.id, cont.Name));
}
return null;
}
}
No comments:
Post a Comment