/zfc-datagrid

A datagrid module for Laminas with different datasources (Doctrine2, Laminas\Db, Array, ...) and output formats (jqGrid. Bootstrap, CLI, PDF, Excel,...)

Primary LanguagePHPMIT LicenseMIT

Datagrid/Datatable module for Laminas Framework (formerly Zend Framework)

Master Branch Build Status Coverage Status Scrutinizer Code Quality

Latest Stable Version Latest Unstable Version License

Join the chat at https://gitter.im/zfc-datagrid/Lobby Total Downloads Monthly Downloads

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

Over 400 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), Laminas\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

Install it with composer

composer require zfc-datagrid/zfc-datagrid -o

NOTE: with 1.x we dropped support for other installation technics. Especially the ZF2 autoloading was dropped. You just need to switch to composer installation, which will make your life easier, since it comes with all needed features

Add ZfcDatagrid to your config/application.config.php

Finally create the folder: data/ZfcDatagrid

You can continue

Test if it works

NOTE: This needs the additional module ZfcDatagridExamples https://github.com/ThaDafinser/ZfcDatagridExamples ####Browser####

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

####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

Continue with your own datagrid

Please read Documentation

You can also use the zfc-data-grid-plugin to create columns with an array configuration, instead of objects!

Screenshots

ScreenShot ScreenShot