Thursday 28 November 2013

Wrapper Class | Wrapper Class Example

Wrapper Class

Wrapper class is a class whose instances are collection of other objects. It is used to display different objects on a Visual Force page in same table.

A Wrapper Class  is where you declare a Class as a container for an sObject to extend the functionality only for display or processing purposes.DTO is a slightly dumbed down version of such a wrapper .

Wrapper Class Example 

Wrapper class for displaying Checkbox and String Data types in single table
Create a Class with the name “WrapperIntStringDisplayClass ” :
public with sharing class WrapperIntStringDisplayClass {
// Creating lists for the object Testing__c and DataLoadTest__c.
List<Testing__c> lsttest = new List<Testing__c>();
List<DataLoadTest__c> lstdlt = new List<DataLoadTest__c>();
// Creating List for Wrapper class
public List<wrapper> lstw = new List<wrapper>();
// Get method calling from PageBlockTable and return the list of wrapper to Table
public List<wrapper> getLstwrapperIntString() {
lsttest = [select name,city__c from Testing__c];
lstdlt = [select country__c,phone__c from DataLoadTest__c];
for(Integer i=0;i<lstdlt.size();i++){
lstw.add(new wrapper(lsttest[i].name,lsttest[i].city__c,lstdlt[i].country__c,lstdlt[i].phone__c));
}
return lstw;
}
// Wrapper Class Construction
public class wrapper{
public String Tname{get;set;}
public String Tcity{get;set;}
public String Dcountry{get;set;}
public String Dphone{get;set;}
// Wrapper class constructor
public wrapper(String Tname,String Tcity,String Dcountry,String Dphone){
this.Tname=Tname;
this.Tcity=Tcity;
this.Dcountry=Dcountry;
this.Dphone=Dphone;
}
}
}
Create a VF Page with controller:
<!– Creating this page for dispaly Testing__c and DataLoadTesting__c object in single table with check box –>
<apex:page sidebar=”false” controller=”WrapperIntStringDisplayClass”>
<apex:form >
<apex:pageBlock >
<apex:pageBlockSection >
<apex:pageBlockTable value=”{!lstwrapperIntString}”             var=”w”>
<apex:column headervalue=”Action”>
<apex:inputcheckbox />
</apex:column>
<apex:column headervalue=”TestingName”>
{!w.Tname}
</apex:column>
<apex:column headerValue=”TestingCity”>
{!w.Tcity}
</apex:column>
<apex:column headervalue=”DataLoadCountry”>
{!w.Dcountry}
</apex:column>
<apex:column headerValue=”DataLoadPhone”>
{!w.Dphone}
</apex:column>
</apex:pageBlockTable>
</apex:pageBlockSection>
</apex:pageBlock>
</apex:form>
</apex:page>

No comments:

Post a Comment