artscorestudio / datagrid-bundle
Symfony Datagrid Bundle
3.0.1
2019-01-28 09:12 UTC
Requires
- php: >=5.6
- symfony/config: ~2.8|~3.0|^4.0
- symfony/dependency-injection: ~2.8|~3.0|^4.0
- symfony/form: ~2.8|~3.0|^4.0
- symfony/http-foundation: ~2.8|~3.0|^4.0
- symfony/http-kernel: ~2.8|~3.0|^4.0
- symfony/options-resolver: ~2.8|~3.0|^4.0
- symfony/security: ~2.8|~3.0|^4.0
- symfony/serializer: ~2.8|~3.0|^4.0
- twig/twig: >=1.5.0
Requires (Dev)
- doctrine/mongodb-odm: ^1.1.5
- doctrine/orm: ~2.4,>=2.4.5
- friendsofphp/php-cs-fixer: ^2.0
- phpunit/phpunit: ~5.7
- satooshi/php-coveralls: ^1.0
- symfony/browser-kit: ~2.8|~3.0|^4.0
- symfony/expression-language: ~2.8|~3.0|^4.0
- symfony/framework-bundle: ~2.8|~3.0|^4.0
- symfony/templating: ~2.8|~3.0|^4.0
Suggests
- ext-intl: Translate the grid
- ext-mbstring: Convert your data with the right charset
- PHPExcel: Export the grid (Excel, HTML or PDF)
- doctrine/mongodb-odm: If you want to use Document as source, please require doctrine/mongodb-odm
- doctrine/orm: If you want to use Entity as source, please require doctrine/orm
Provides
- ext-mongo: 1.5
This package is not auto-updated.
Last update: 2024-09-14 19:25:33 UTC
README
受 Zfdatagrid 和 Magento Grid 启发的 Symfony2 Datagrid。
此包由 Stanislav Turza (Sorien) 创始。
特性
- 支持实体(ORM)、文档(ODM)和向量(数组)数据源
- 可排序和可过滤,带有操作符(比较运算符、范围、以/不以开头,包含/不包含,定义/未定义,正则表达式)
- 自动识别列类型(文本、数字、布尔值、数组、日期时间、日期等)
- 日期时间、日期和数字列的本地化支持(十进制、货币、百分比、持续时间、科学、文字表述)
- 输入、选择、复选框和单选按钮过滤器,使用网格数据或值数组填充
- 导出(CSV、Excel、PDF、XML、JSON、HTML等)
- 批量操作
- 行操作
- 支持与实体数据源映射的列
- 使用安全角色保护列、操作和导出
- 注解和 PHP 配置
- 外部过滤器框
- Ajax 加载
- 分页(您也可以使用 Pagerfanta)
- 列宽和列对齐
- 前缀翻译标题
- 同一页面上多网格的网格管理器
- ORM 和 ODM 数据源的分组配置
- 轻松覆盖模板(twig)
- 自定义列和过滤器创建
- ...
文档
查看 概要。
截图
带有此 CSS 风格文件 的完整示例
带有外部过滤器框的简单示例(英文)
相同的示例(法文)
这些截图中使用的数据(这是一个 phpMyAdmin 截图)
简单的 ORM 数据源网格
<?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'); } }
在实体中对网格进行简单配置
<?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; }
在 twig 模板中显示网格
<?php <!-- MyProject\MyBundle\Resources\views\myGrid.html.twig --> {{ grid(grid) }}
并清除缓存。