thadafinser/zfc-datagrid

Zend Framework 2 Module that provides a datagrid for different datasources and output formats

Installs: 7 265

Dependents: 5

Stars: 82

Watchers: 19

Forks: 45

Open Issues: 47

Language: PHP


README

Master Branch Build Status HHVM Status Coverage Status Total Downloads Latest Stable Version Latest Unstable Version License

A datagrid for ZF2 where the data input and output can be whatever you want...:-)

Over 330 tests and 1000 assertions testing the stability currently!

If you need help, please use following ressources

If you want to help out on this project:

Features

  • Datasources: Doctrine2 (QueryBuilder + Collections), Zend\Db, PhpArray, ... (others possible)
  • Output types: jqGrid, Bootstrap table, PDF, Excel, CSV, console, ... (others possible)
    • Bootstrap table with Daterange Filter need to load manually js and css
  • different column types
  • custom formatting, type based formatting (string, date, number, array...)
  • column/row styling for all or based on value comparison
  • column filtering and sorting
  • external data can be included to the dataset (like gravator or any other)
  • pagination
  • custom toolbar / view
  • ...

Installation

(optional) Create a new ZF2 project

To get started with a ZF2 application, please see the Skeleton application

Get ZfcDatagrid

Install it with composer is easy

php composer.phar require thadafinser/zfc-datagrid:dev-master

(If you don't have composer: Download it as a zip from github and put in into vendor/ZfcDatagrid and make sure that autoloading works)

Add ZfcDatagrid to your config/application.config.php

Finally create the folder: data/ZfcDatagrid

Test if it works

Browser

Attention! Only PhpArray works out of the box! For Zend\Db\Sql\Select and Doctrine2 you need to install DoctrineORMModule (Doctrin2 creates the database for Zend\Db\Sql\Select)

PhpArray http://YOUR-PROJECT/zfcDatagrid/person/bootstrap

Doctrine2 http://YOUR-PROJECT/zfcDatagrid/personDoctrine2/bootstrap

Zend\Db\Sql\Select http://YOUR-PROJECT/zfcDatagrid/personZend/bootstrap

Console

If you just type php index.php a help for all commands will be shown

cd YOUR-PROJECT/public/
php index.php datagrid person
php index.php datagrid person --page 2
php index.php datagrid person --sortBys=age
php index.php datagrid person --sortBys=age,givenName --sortDirs=ASC,DESC

Screenshots

ScreenShot ScreenShot