VF and APEX Code:
<apex:page controller="display"> <apex:form > <!--<apex:actionFunction action="{!selectcountry}" name="fun"/> <apex:selectList size="1" value="{!country}" onchange="fun();">--> <apex:selectList size="1" value="{!country}"> <apex:actionSupport event="onchange" action="{!selectcountry}"/> <apex:selectOptions value="{!picklistvalues}"> </apex:selectOptions> </apex:selectList> <apex:pageBlock > <!--renderd to display or hide the pageblocksection on any other element of VF page--> <apex:pageBlockSection title="India" rendered="{!Ind}"> <b>India is a developing country</b> </apex:pageBlockSection> <apex:pageBlockSection title="Australia" rendered="{!Aus}"> <b>Australia is a continent</b> </apex:pageBlockSection> <apex:pageBlockSection title="USA" rendered="{!Usa}"> <b>USA is a developed country</b> </apex:pageBlockSection> </apex:pageBlock> </apex:form> </apex:page>
public class display { //To store the picklist value which we have selected on VF page i.e (Ind, Aus, USA) public String country { get; set; } //To display list of picklist values on VF page public List<selectOption> getPicklistvalues() { List<selectOption> options = new List<selectOption>(); options.add(new selectOption('India','India')); options.add(new selectOption('Australia','Australia')); options.add(new selectOption('USA','USA')); return options; } //To make three pageblocksections invisible by default public Boolean indtf = false; public Boolean austf = false; public Boolean usatf = false; //To dynamically pass Boolean values to rendered attribute on pageblocksection public void setInd(Boolean b) { this.indtf = b; } public Boolean getInd() { return this.indtf; } public void setAus(Boolean b) { this.austf = b; } public Boolean getAus() { return this.austf; } public void setUsa(Boolean b) { this.usatf = b; } public Boolean getUsa() { return this.usatf; } //Constructor, After loading the page to display india pageblocksection by default public display() { setInd(True); setAus(False); setUsa(False); } //After changing picklist value based on the selection to display either usa or aus pageblocksection //Through actionfunction or actionsupport this method will be called to VF page public PageReference selectcountry() { if(country == 'Australia') { setInd(False); setAus(True); setUsa(False); } else { setInd(False); setAus(False); setUsa(True); } return null; } }
Thanks dude.. your post really helped a lot..
ReplyDelete