Displays a {@link SS_List} in a grid format.

This class is is responsible for adding objects to another object's has_many and many_many relation, as defined by the {@link RelationList} passed to the {@link GridField} constructor.

This component provides a button for opening the add new form provided by {@link GridFieldDetailForm}.

Adding this class to a {@link GridFieldConfig} of a {@link GridField} adds a button row to that field.

Encapsulates a collection of components following the {@link GridFieldComponent} interface. While the {@link GridField} itself has some configuration in the form of setters, most of the details are dealt with through components.

A simple readonly, paginated view of records, with sortable and searchable headers.

Allows editing of records contained within the GridField, instead of only allowing the ability to view records in the GridField.

Allows viewing readonly details of individual records.

Similar to {@link GridFieldConfig_RecordEditor}, but adds features to work on has-many or many-many relationships.

This class is a {@link GridField} component that adds a delete action for objects.

Provides view and edit forms at GridField-specific URLs.

Provides the entry point to editing a single record presented by the {@link GridField}.

Adds an "Export list" button to the bottom of a {@link GridField}.

GridFieldFilterHeader alters the {@link GridField} with some filtering fields in the header of each column.

Adding this class to a {@link GridFieldConfig} of a {@link GridField} adds a footer bar to that field.

Adds a delete action for the gridfield to remove a relationship from group.

GridFieldLazyLoader alters the {@link GridField} behavior to delay rendering of rows until the tab containing the GridField is selected by the user.

Adds a "level up" link to a GridField table, which is useful when viewing hierarchical data. Requires the managed record to have a "getParent()" method or has_one relationship called "Parent".

GridFieldPage displays a simple current page count summary.

GridFieldPaginator paginates the {@link GridField} list and adds controls to the bottom of the {@link GridField}.

Adds an "Print" button to the bottom or top of a GridField.

GridFieldSortableHeader adds column headers to a {@link GridField} that can also sort the columns.

A trait that makes a class able to consume and use a {@link GridFieldStateManagerInterface} implementation

Creates a unique key for the gridfield, and uses that to write to and retrieve its state from the request

Adding this class to a {@link GridFieldConfig} of a {@link GridField} adds a header title to that field.

A button that allows a user to view readonly details of a record. This is disabled by default and intended for use in readonly {@link GridField} instances.

Groups exiting actions in the Actions column in to a menu

This class is the base class when you want to have an action that alters the state of the {@link GridField}, rendered as a button element.

This class is a snapshot of the current status of a {@link GridField}.

Simple set of data, similar to stdClass, but without the notice-level errors.


Base interface for all components that can be added to GridField.

Defines a class that can create a key for a gridfield and apply its state to a request, and consume state from the request

GridField action menu item interface, this provides data so the action will be included if there is a {see GridField_ActionMenu}

Allows GridField_ActionMenuItem to act as a link

An action is defined by two things: an action name, and zero or more named arguments.

Add a new column to the table display body, or modify existing columns.

Can modify the data list.

A GridField manipulator that provides HTML for the header/footer rows, or f or before/after the template.

A component which is used to handle when a {@link GridField} is saved into a record.

A GridField component that provides state, notably default state.

Sometimes an action isn't enough: you need to provide additional support URLs for the {@link GridField}.