northernco / datagrid-bundle
Symfony Datagrid Bundle
Installs: 29 464
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 4
Forks: 2
Open Issues: 5
Type:symfony-bundle
Requires
- php: >=8.0
- doctrine/annotations: ^1.14|^2.0
- doctrine/orm: ^2.13
- symfony/config: ^5.2|^6.2
- symfony/dependency-injection: ^5.2|^6.2
- symfony/form: ^5.2|^6.2
- symfony/http-foundation: ^5.2|^6.2
- symfony/http-kernel: ^5.2|^6.2
- symfony/options-resolver: ^5.2|^6.2
- symfony/security-core: ^5.2|^6.2
- symfony/serializer: ^5.2|^6.2
- symfony/translation: ^5.2|^6.2
- twig/twig: ^2.4|^3.0
Requires (Dev)
- ext-intl: *
- dg/bypass-finals: ^1.2
- phpunit/phpunit: ^9.5
- symfony/expression-language: ^5.2|^6.2
- symfony/framework-bundle: ^5.2|^6.2
- symfony/phpunit-bridge: ^5.2|^6.2
Suggests
- ext-intl: Translate the grid
- ext-mbstring: Convert your data with the right charset
- PHPExcel: Export the grid (Excel, HTML or PDF)
- 5.x-dev
- v5.0.x-dev
- 5.0.0
- 4.x-dev
- 4.5.0
- 4.4.0
- 4.3.0
- 4.2.0
- 4.1.0
- 4.0.1.x-dev
- 4.0.1
- 4.0.0
- 3.x-dev
- 3.6.0
- 3.5.0
- 3.4.0
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.0
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.2
- 3.0.1
- 3.0.0
- 2.3.0
- 2.2.17
- 2.2.16
- 2.2.1
- 2.1.15
- 2.1.14
- 2.1.13
- v2.0
- v1.0
- dev-automated-testing
- dev-automated-testing-deprecations
- dev-types
- dev-default-column-operators-config
- dev-symfony-6
- dev-make-request-optional
- dev-enspire-108808-massactions-new-tab
This package is auto-updated.
Last update: 2024-12-18 17:24:28 UTC
README
Datagrid for Symfony inspired by Zfdatagrid and Magento Grid.
This bundle was initiated by Stanislav Turza (Sorien).
Features
- 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
- ...
Documentation
See the summary.
Screenshot
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):
Simple grid with an ORM source
<?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'); } }
Simple configuration of the grid in the entity
<?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; }
Display the grid in a twig template
<?php <!-- MyProject\MyBundle\Resources\views\myGrid.html.twig --> {{ grid(grid) }}
And clear your cache.