How to open child records list from custom button on parent object?
Hi,
In this post i am giving an example of how to display contact records in a VF page when we click on custom button on Accounts page. Once we click on Custom page it will call Visualforce page and display related contacts for the Account.
Step1:
Goto Setup-->Customize-->Account--> Buttons Links and Actions-->Click on New Button Or Link-->Create a button with Label and Enter the code in Script Area.
"window.open('/apex/ShowContactsForAccountVF?acId={!Account.Id}'); " --> click on Save.
Step2:
Once you are ready with custom button Goto Account Details Record-->Edit Page Layout-->Go to Button Section-->Drag the "Show Contacts" Button to Custom Buttons Area-->Save.
once you save the page layout the button will display in Account Detail page like this.
Step 3:
Develop controller Class for Visualforce page, here we need to capture the parameter of Account id from the Url like this "accID= ApexPages.currentPage().getParameters().get('acId');"
public class ShowContactsForAccountCLS {
Private Id accID;
public List<Contact> contactList{get;set;}
public ShowContactsForAccountCLS(){
contactList = new List<Contact>();
accID= ApexPages.currentPage().getParameters().get('acId');
contactList = [SELECT FirstName,LastName,Email,Phone FROM Contact WHERE AccountID = : accID];
}
}
Step 4:
Develop a visualforce page with Custom controller and save it. here the page name should be same as in the button script. in my custom button script i gave the url as "/apex/ShowContactsForAccountVF?acId={!Account.Id}", So My page name should be ShowContactsForAccountVF.
Visualforce Page :
<apex:page controller="ShowContactsForAccountCLS">
<apex:pageBlock >
<apex:pageblockTable value="{!contactList}" var="cl">
<apex:column value="{!cl.FirstName}"/>
<apex:column value="{!cl.LastName}"/>
<apex:column value="{!cl.Phone}"/>
<apex:column value="{!cl.Email}"/>
</apex:pageblockTable>
</apex:pageBlock>
</apex:page>
Output : once you click on "Show Contacts" on Account Detail page it will open the contact details like this.
That's it...
1 comments:
Hi,
I tried following the above steps but unable to display the child records.
I have 2 custom objects. Test_Case__c and Test_Step__c. I have a custom link on Test_Case__c. When I click on the custom link, I want to see the steps related to the Test Case. How can i achieve this?
Post a Comment