fragote/zfc-datagrid

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

0.10.0 2015-07-16 12:05 UTC

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