Datagrid for Symfony inspired by Zfdatagrid and Magento Grid.
This bundle was initiated by Stanislav Turza (Sorien).
See CHANGELOG and UPGRADE 2.0
- Supports Entity (ORM), Document (ODM) and Vector (Array) sources
 - Sortable and Filterable with operators (Comparison operators, range, starts/ends with, (not) contains, is (not) defined, regex)
 - Auto-typing columns (Text, Number, Boolean, Array, DateTime, Date, ...)
 - Locale support for DateTime, Date and Number columns (Decimal, Currency, Percent, Duration, Scientific, Spell out)
 - Input, Select, checkbox and radio button filters filled with the data of the grid or an array of values
 - Export (CSV, Excel, PDF, XML, JSON, HTML, ...)
 - Mass actions
 - Row actions
 - Supports mapped fields with Entity source
 - Securing the columns, actions and export with security roles
 - Annotations and PHP configuration
 - External filters box
 - Ajax loading
 - Pagination (You can also use Pagerfanta)
 - Column width and column align
 - Prefix translated titles
 - Grid manager for multi-grid on the same page
 - Groups configuration for ORM and ODM sources
 - Easy templates overriding (twig)
 - Custom columns and filters creation
 - ...
 
See the summary.
Full example with this CSS style file:
Simple example with the external filter box in english:
Same example in french:
Data used in these screenshots (this is a phpMyAdmin screenshot):
<?php
namespace MyProject\MyBundle\Controller;
use APY\DataGridBundle\Grid\Source\Entity;
class DefaultController extends Controller
{
	public function myGridAction()
	{
		// Creates a simple grid based on your entity (ORM)
		$source = new Entity('MyProjectMyBundle:MyEntity');
		// Get a Grid instance
		$grid = $this->get('grid');
		// Attach the source to the grid
		$grid->setSource($source);
		// Return the response of the grid to the template
		return $grid->getGridResponse('MyProjectMyBundle::myGrid.html.twig');
	}
}<?php
namespace MyProject\MyBundle\Entity
use Doctrine\ORM\Mapping as ORM;
use APY\DataGridBundle\Grid\Mapping as GRID;
/**
 * @GRID\Source(columns="id, my_datetime")
 */
class MyEntity
{
	/*
	 * @ORM\Column(type="integer")
	 */
	protected $id;
	/*
	 * @ORM\Column(type="datetime")
	 */
	protected $my_datetime;
}<?php
<!-- MyProject\MyBundle\Resources\views\myGrid.html.twig -->
{{ grid(grid) }}And clear your cache.




