apy/datagrid-bundle

Symfony 数据网格组件

安装次数: 883,151

依赖者: 13

建议者: 1

安全: 0

星标: 492

关注者: 46

分支: 344

开放问题: 92

类型:symfony-bundle

6.0.0 2023-09-07 07:54 UTC

README

Symfony 组件 允许您基于项目中的数据或实体创建精美的网格。

Build Status Coverage Status

功能

此组件允许您创建具有许多您期望的功能的列表

  • 各种数据源:支持 实体(ORM)、文档(ODM)和 向量(数组)源
  • 数据操作:可 排序过滤,支持许多运算符
  • 自动类型化列(文本、数字、布尔值、数组、日期时间、日期等)
  • 支持列和数据(日期时间、日期和数字列)的本地化
  • 输入、选择、复选框和单选按钮过滤器,填充网格或值数组的数据
  • 导出(CSV、Excel、PDF、XML、JSON、HTML 等)
  • 批量操作、行操作
  • 支持使用实体源映射的字段
  • 使用安全角色保护列、操作和导出
  • 注解和 PHP 配置
  • 外部过滤器框
  • Ajax 加载
  • 分页(您也可以使用 Pagerfanta)
  • 同一页面上的多网格网格管理器
  • ORM 和 ODM 源的分组配置
  • 易于模板覆盖(Twig)
  • 自定义列和过滤器创建
  • 等等

安装、文档

查看 摘要

屏幕截图

带有此 CSS 样式文件 的完整示例

test

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

test

法语中的相同示例

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) }}

并清除您的缓存。

组件历史

受 Zfdatagrid 和 Magento Grid 启发的 Symfony 数据网格
此组件由 Stanislav Turza(Sorien)发起。

查看 变更日志升级 2.0