artscorestudio/datagrid-bundle

Symfony Datagrid Bundle

安装数: 13 138

依赖项: 2

建议者: 0

安全: 0

星标: 2

关注者: 3

分支: 344

类型:symfony-bundle

3.0.1 2019-01-28 09:12 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:25:33 UTC


README

受 Zfdatagrid 和 Magento Grid 启发的 Symfony2 Datagrid。
此包由 Stanislav Turza (Sorien) 创始。

Build Status Stories in Ready Gitter

查看 变更日志升级 2.0

特性

  • 支持实体(ORM)、文档(ODM)和向量(数组)数据源
  • 可排序和可过滤,带有操作符(比较运算符、范围、以/不以开头,包含/不包含,定义/未定义,正则表达式)
  • 自动识别列类型(文本、数字、布尔值、数组、日期时间、日期等)
  • 日期时间、日期和数字列的本地化支持(十进制、货币、百分比、持续时间、科学、文字表述)
  • 输入、选择、复选框和单选按钮过滤器,使用网格数据或值数组填充
  • 导出(CSV、Excel、PDF、XML、JSON、HTML等)
  • 批量操作
  • 行操作
  • 支持与实体数据源映射的列
  • 使用安全角色保护列、操作和导出
  • 注解和 PHP 配置
  • 外部过滤器框
  • Ajax 加载
  • 分页(您也可以使用 Pagerfanta)
  • 列宽和列对齐
  • 前缀翻译标题
  • 同一页面上多网格的网格管理器
  • ORM 和 ODM 数据源的分组配置
  • 轻松覆盖模板(twig)
  • 自定义列和过滤器创建
  • ...

文档

查看 概要

截图

带有此 CSS 风格文件 的完整示例

test

带有外部过滤器框的简单示例(英文)

test

相同的示例(法文)

test

这些截图中使用的数据(这是一个 phpMyAdmin 截图)

test

简单的 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) }}

并清除缓存。