Standard List Controller Actions

Standard list controllers support action methods. Action methods perform logic or navigation when a page event occurs, such as when a user clicks a button or hovers over an area of the page.

Call action methods from page markup by using {! } notation in the action attribute of one of these tags.

This table describes the action methods all standard list controllers support. You can associate these actions with any Visualforce component that includes an action attribute.

Action Description
save Inserts new records or updates existing records that have been changed. After this operation is finished, the save action returns the user to the original page, if known, or to the home page.
quicksave Inserts new records or updates existing records that have been changed. Unlike the save action, quicksave doesn’t redirect the user to another page.
list Returns a PageReference object of the standard list page, based on the most recently used list filter for that object when the filterId isn’t specified by the user.
cancel Aborts an edit operation. After this operation is finished, the cancel action returns the user to the page where they originally invoked the edit.
first Displays the first page of records in the set.
last Displays the last page of records in the set.
next Displays the next page of records in the set.
previous Displays the previous page of records in the set.

In this example, the user specifies a filter to view account records.

<apex:page standardController="Account" recordSetVar="accounts">
   <apex:form>
       <apex:selectList value="{!filterid}" size="1">
           <apex:selectOptions value="{!listviewoptions}"/>
       </apex:selectList>
       <apex:commandButton value="Go" action="{!list}"/>
   </apex:form>
</apex:page>

The page is associated with the standard Account list controller, which is based on the StandardSetController Apex class. The {!listviewoptions} expression calls the getListViewOptions() method for StandardSetController and evaluates to the available list views. The list view that the user selects is bound to the filterId property of the controller. When the filterId changes, the records available to the page change according to the filter. So when the user clicks Go, the standard list page displays the selected filtered records.