Friday, 9 October 2015

display multiple object Records using wraper class

public with sharing class wrappercls {

public class accwrapper{
public Account acc{get; set;}
public List<Contact> lstcon{get; set;}
public List<Case> lstcases{get; set;}
public accwrapper(Account a, List<Contact> lst, List<case> lstcase){
acc = a;
lstcon = lst;
lstcases = lstcase;
}
}

public List<accwrapper> lstwrap{get; set;}

public wrappercls(){

lstwrap = new List<accwrapper>();
List<account> lst = [Select id, name,(Select id, name from Contacts),(Select id,CaseNumber  from cases) from account order by name];

for(Account acc : lst){
if(acc.contacts.size()>1)
lstwrap.add(new accwrapper(acc,acc.contacts,acc.cases));
}
}

}


<apex:page controller="wrappercls">
<apex:form >
<apex:pageblock >
<apex:pageblocktable value="{!lstwrap}" var="w">
<apex:column value="{!w.acc.name}"/>
<apex:column >
<apex:repeat value="{!w.lstcon}" var="c">
{!c.name}<br/>
</apex:repeat>
</apex:column>
<apex:column >
<apex:repeat value="{!w.lstcases}" var="c">
{!c.casenumber}<br/>
</apex:repeat>
</apex:column>
</apex:pageblocktable>
</apex:pageblock>
</apex:form>
</apex:page>

No comments:

Post a Comment