Adding Custom List Buttons using Standard List Controllers
In addition to overriding standard buttons and links, you can also create custom list buttons that link to pages that use a standard list controller. These list buttons can be used on a list page, search results, and any related list for the object and allow you to take actions on a group of selected records. To indicate the set of records that have been selected, use the {!selected} expression.
For example, to add a custom button to a related list for opportunities that allows you to edit and save the opportunity stage and close date on selected records:
-
Create the following Apex class:
-
Create the following page and call it
oppEditStageAndCloseDate: -
Make the page available to all users.
- From Setup, enter
Visualforce Pagesin theQuick Findbox, then select Visualforce Pages. - Click Security for the oppEditStageAndCloseDate page.
- Add the appropriate profiles to the
Enabled Profileslist. - Click Save.
- From Setup, enter
-
Create a custom button on opportunities.
- From the object management settings for opportunities, go to Buttons, Links, and Actions.
- Click the button for creating a new button or link.
- Set the
LabeltoEdit Stage & Date. - Set the
Display TypetoList Button. - Set the Content Source to
Visualforce Page. - From the Content drop-down list, select
oppEditStageAndCloseDate. - Click Save.
- A warning will display notifying you that the button will not be displayed until you have updated page layouts. Click OK.
-
Add the custom button to an account page layout.
- From the object management settings for accounts, go to Page Layouts.
- Click Edit for the appropriate page layout.
- In the Related List Section, click on Opportunities, then click
to edit the properties. - In the Custom Buttons section, select Edit Stage & Date in the Available Buttons list and add it to the Selected Buttons list.
- Click OK.
- Click Save.
Now, when you visit the account page, there is a new button in the opportunities related list.

When you select an opportunity and click Edit Stage & Date, you are taken to your custom edit page.

See Also