PHPackages                             evence/grid-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. evence/grid-bundle

ActiveSymfony-bundle

evence/grid-bundle
==================

Provides an easy grid generator

3.4.0(6y ago)1668MITPHPPHP &gt;=5.3.3CI failing

Since Feb 15Pushed 1y ago1 watchersCompare

[ Source](https://github.com/E-vence/EvenceGridBundle)[ Packagist](https://packagist.org/packages/evence/grid-bundle)[ RSS](/packages/evence-grid-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (8)Versions (5)Used By (0)

EvenceGridBundle
================

[](#evencegridbundle)

Easy method to generate a grid.

### Installation

[](#installation)

1. Add the bundle to your composer:

    ```
    $ composer require evence/grid-bundle:dev-master
    ```
2. Add the bundle to your AppKernel.php:

    ```
     new Evence\Bundle\GridBundle\EvenceGridBundle()
    ```

### Grid withoud class

[](#grid-withoud-class)

Add the following code to your controller:

```

    $gridHelper = $this->get('evence.grid');
    $grid = $gridHelper->createGridBuilder('EvenceOptinBundle:Supplier')
            ->addDataField('name', 'Name')
            -> addAction('edit', 'Edit supplier', 'evence_optin_supplier_edit',  array(), array('ROLE_ADMIN'), array('icon' => 'pencil'))
            ->setMappedParameters(array('id'));

  return $gridHelper->gridResponse('EvenceCoreBundle:Admin:simple_grid.html.twig', array(
      'grid' => $grid->createView()));
```

### Grid within a class

[](#grid-within-a-class)

```
namespace Acme\Bundle\DemoBundle\Grid;
use Evence\Bundle\GridBundle\Grid\Grid;
use Evence\Bundle\GridBundle\Grid\GridFieldConfigurator;
use Evence\Bundle\GridBundle\Grid\GridActionConfigurator;
use Evence\Bundle\GridBundle\Grid\GridFilterConfigurator;
use Evence\Bundle\GridBundle\Grid\Filter\FilterMapper;

class UserGrid extends Grid {

    public function getEntityName() {
        return 'EvenceCoreBundle:AdminUser';
    }

    public function getOptions(){
        return array('numbers' => false, 'checkbox' => false);
    }

    public function configureFields(GridFieldConfigurator $FieldConfigurator){
        $FieldConfigurator  ->addDataField('firstname', 'Firstname')
                            ->addDataField('lastname', 'Lastname')
                            ->addDataField('username', 'Username')
                            ->addCustomField('fullname', 'Volledige naam', 'text', function($source, $field){
                                return $source->getFirstname(). ' ' . $source->getLastname();
                            })
                            ->addDataField('roles', 'Rollen', 'choice', array('choices' => AdminUser::getRoleTypes(), 'mapped' => false));
    }

    public function getDataSourceType(){
        return parent::DATA_SOURCE_ENTITY;
    }

    public function configureActions(GridActionConfigurator $actionConfigurator){
        $actionConfigurator
                            ->addAction('edit', 'Edit', 'admin_user_edit', array(),array('ROLE_ADMIN'), array('icon' => 'pencil', 'iconType' => 'fontawesome'))
                            ->addAction('remove', 'Delete', 'admin_user_delete', array(),array('ROLE_ADMIN'), array('icon' => 'times', 'iconType' => 'fontawesome'));

        $actionConfigurator->setMappedParameters(array('id'));

    }

    /*
     * (non-PHPdoc)
     * @see \Evence\Bundle\GridBundle\Grid\Grid::configureFilter()
     */
    public function configureFilter(GridFilterConfigurator $filterConfigurator)
    {
        $filterConfigurator->add('status', 'choice', [
            'choices' => Transaction::getStatusses()
        ])
            ->add('dateFrom', 'datetime', [])

            ->add('dateTill', 'datetime', []);

        $fm = $filterConfigurator->getFilterMapper();

        $fm->add(FilterMapper::gt('transactionAt', 'dateFrom'))->add(FilterMapper::lt('transactionAt', 'dateTill'));
    }

}
```

Add the following code to your controller action:

```
     $gridHelper =  $this->get('evence.grid');
        $grid = $gridHelper->createGrid(new UserGrid());

        return  $gridHelper->gridResponse('EvenceCoreBundle:Admin:user_read.html.twig', array('grid' => $grid->createView()));

```

### Show grid in twig

[](#show-grid-in-twig)

Add the following code to your twig file:

```
   {{ evenceGrid(grid, {'formAttributes': {'class': 'form'}}) }}
```

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance27

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1140 days

Total

4

Last Release

687d ago

Major Versions

0.0.1 → 1.02016-01-25

1.0 → 3.4.02019-07-29

### Community

Maintainers

![](https://www.gravatar.com/avatar/6577abaa71ccc18dd6dfdad3c64901f9ce696a714ebb2e38e03112ba7050f0cd?d=identicon)[RubenHarms](/maintainers/RubenHarms)

---

Top Contributors

[![RubenHarms](https://avatars.githubusercontent.com/u/8577820?v=4)](https://github.com/RubenHarms "RubenHarms (176 commits)")

---

Tags

buildergridtable

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/evence-grid-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/evence-grid-bundle/health.svg)](https://phpackages.com/packages/evence-grid-bundle)
```

###  Alternatives

[nicolaskruchten/pivottable

Javascript Pivot Table (aka Pivot Grid, Pivot Chart, Cross-Tab) implementation with drag'n'drop.

4.4k202.9k1](/packages/nicolaskruchten-pivottable)[ublaboo/datagrid

DataGrid for Nette Framework: filtering, sorting, pagination, tree view, table view, translator, etc

2971.9M23](/packages/ublaboo-datagrid)[anourvalar/office

Generate documents from existing Excel &amp; Word templates | Export tables to Excel (Grids)

24085.2k](/packages/anourvalar-office)[o5/grido

Grido - DataGrid for Nette Framework

87290.5k4](/packages/o5-grido)[mmucklo/grid-bundle

Datagrid for symfony2 or symfony3 or symfony4 or symfony5

21343.7k3](/packages/mmucklo-grid-bundle)[nagarajanchinnasamy/subtotal

Subtotal.js is a JavaScript plugin for PivotTable.js. It renders subtotals of rows and columns with the ability to expand and collapse rows.

93130.1k](/packages/nagarajanchinnasamy-subtotal)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
