You are browsing documentation for version 5.0 of OroCommerce, OroCRM, and OroPlatform, maintained until August 2024 and supported until March 2026. See version 5.1 (the latest LTS version) of the Oro documentation for information on latest features.

See our Release Process documentation for more information on the currently supported and upcoming releases.


A datagrid object only takes care of converting datasource to the result set. All other operations are performed by extensions (e.g., pagination, filtering, etc.).

Here is a list of already implemented extensions:

  • Formatter - responsible for backend field formatting(e.g., generating URL using router, translation using Symfony translator, etc.). This extension also takes care of passing column configuration to the view layer.
  • Pager - responsible for pagination
  • Sorter - responsible for sorting
  • Action - provides actions configurations for grid
  • Mass Action - provides mass actions configurations for grid
  • Toolbar - provides toolbar configuration for view
  • Grid Views - provides configuration for grid views toolbar
  • Export - responsible for export grid data
  • Field ACL - allow to protect entity fields with ACL
  • Board - responsible for adding Kanban board views for datagrids
  • Filter - responsible for adding filtering and filter widgets to grid


To implement your extension:

  • Develop a class that implements ExtensionVisitorInterface (there is also a basic implementation in AbstractExtension class)
  • Register you extension as service with tag { name: oro_datagrid.extension }