apymakoso / datagrid-bundle
Symfony 数据网格组件
3.1.1
2018-01-22 08:50 UTC
Requires
- php: >=5.6
- doctrine/mongodb-odm: ^1.1.5
- doctrine/orm: ~2.4,>=2.4.5
- symfony/symfony: ~2.8|~3.0|^4.0
- twig/twig: >=1.5.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- phpunit/phpunit: ~5.7
- satooshi/php-coveralls: ^1.0
Suggests
- ext-intl: Translate the grid
- ext-mbstring: Convert your data with the right charset
- PHPExcel: Export the grid (Excel, HTML or PDF)
Provides
- ext-mongo: 1.5
This package is not auto-updated.
Last update: 2024-09-20 02:29:42 UTC
README
受 Zfdatagrid 和 Magento Grid 启发的 Symfony2 数据网格组件。
此组件由 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) }}
并清除您的缓存。