I love that Visualforce has a Related List tag that makes it easy to plop a related list into a Visualforce page--without Apex code. I HATE HATE HATE that it's not very flexible (eg, there's no way to customize the columns shown). I installed PageBlockTableEnhancerADV, added the ideas from Item #3 in "Making Related List without using Apex Class", and expanded on them a little to make a homebrew related list without Apex controller code. It's below. woohoo! <pbe:PageBlockTableEnhancerADV enableExport="false" targetPbTableIds="Implementation_Contact_Roles__r" paginate="true" defaultPageSize="5" pageSizeOptions="5,10,20,30,40,50,100" /> <apex:pageBlock title="Implementation Contact Roles"> <center><apex:commandButton action="{!URLFOR($Action.Implementation_Contact_Role__c.New, null, [CF00N500000030Bcw=Opportunity.Name])}" value="Add" id="newICR"/></center> <apex:pageBlockSection columns="1"> <apex:pageBlockTable value="{!Opportunity.Implementation_Contact_Roles__r}" var="child" id="Implementation_Contact_Roles__r"> <apex:column headerValue="Action"> <apex:outputLink value="{!URLFOR($Action.Implementation_Contact_Role__c.Edit, child.id)}" id="editLink" styleClass="actionLink"><font color="blue">Edit</font></apex:outputLink> | <apex:outputLink value="{!URLFOR($Action.Implementation_Contact_Role__c.Delete, child.id, [retURL='/apex/CRF?id=' + id], true)}" onclick="return window.confirm('Are you sure?');" styleClass="actionLink"><font color="blue"> Del</font></apex:outputLink> </apex:column> <apex:column headervalue="Full Name"> <apex:outputLink value="/{!child.Id}">{!child.Contact__r.FirstName} {!child.Contact__r.LastName}</apex:outputLink> </apex:column> <apex:column headerValue="Project Role" value="{!child.Project_Role__c}"/> <apex:column headerValue="Email" value="{!child.Contact__r.Email}"/> <apex:column headerValue="Notes" value="{!child.Notes__c}"/> </apex:pageBlockTable> </apex:pageBlockSection> </apex:pageBlock> |