What is StandardSetController Class?
StandardSetController objects allow you to create list controllers similar to, or as extensions of, the pre-built Visualforce list controllers provided by Salesforce.
Instantiation of Standardset Controller is
You can instantiate a StandardSetController in either of the following ways:
From a list of sObjects:
List<account> accountList = [SELECT Name FROM Account LIMIT 20];
ApexPages.StandardSetController ssc = new ApexPages.StandardSetController(accountList);
From a query locator:
ApexPages.StandardSetController ssc =
new ApexPages.StandardSetController(Database.getQueryLocator([SELECT Name,CloseDate FROM Opportunity]));
The following are methods for StandardSetController. All are instance methods.
Returns the PageReference of the original page, if known, or the home page.
Returns the first page of records.
Indicates whether there are more records in the set than the maximum record limit. If this is false, there are more records than you can process using the list controller. The maximum record limit is 10,000 records.
Returns the ID of the filter that is currently in context.
Indicates whether there are more records after the current page set.
Indicates whether there are more records before the current page set.
Returns a list of the listviews available to the current user.
Returns the page number of the current page set. Note that the first page returns 1.
Returns the number of records included in each page set.
Returns the sObject that represents the changes to the selected records. This retrieves the prototype object contained within the class, and is used for performing mass updates.
Returns the list of sObjects in the current page set. This list is immutable, i.e. you can't call clear() on it.
Returns the number of records in the set.
Returns the list of sObjects that have been selected.
Returns the last page of records.
Returns the next page of records.
Returns the previous page of records.
Inserts new records or updates existing records that have been changed. After this operation is finished, it returns a PageReference to the original page, if known, or the home page.
Sets the filter ID of the controller.
Sets the page number.
Sets the number of records in each page set.
Set the selected records.