phloxcz/components-grid
Composer 安装命令:
composer require phloxcz/components-grid
包简介
DataGrid UI component for Nette Framework
README 文档
README
DataGrid UI komponenta pro Nette Framework. Zobrazuje tabulková data s řazením, filtrováním, stránkováním a akcemi — bez závislosti na konkrétním CSS frameworku.
Požadavky
- PHP 8.1+
- nette/application ^3.1 || ^4.0
- nette/database ^3.1 || ^4.0
- nette/utils ^3.2 || ^4.0
Instalace
composer require phloxcz/components-grid
Zkopírujte assety do svého projektu:
vendor/phloxcz/components-grid/assets/grid.css
vendor/phloxcz/components-grid/assets/grid.js
vendor/phloxcz/components-grid/assets/dropdownlist.css
vendor/phloxcz/components-grid/assets/dropdownlist.js
Quickstart
1. Zaregistrujte komponentu v presenteru
use Phlox\Components\Grid\GridControl; class UserPresenter extends Nette\Application\UI\Presenter { public function __construct( private readonly Nette\Database\Explorer $db, ) {} protected function createComponentUserGrid(): GridControl { $grid = new GridControl(); $grid->setDataSource($this->db->table('user')) ->setItemsPerPage(25) ->setTheme(GridControl::BOOTSTRAP) ->useAjax() ->setResizable() ->setReorderable() ->showColumnToggle(); $grid->addTextColumn('name', 'Jméno') ->sortable() ->searchable() ->filterable(); $grid->addTextColumn('email', 'E-mail') ->sortable() ->width('220px'); $grid->addDateColumn('created_at', 'Registrace', 'd.m.Y') ->sortable(); $grid->addBoolColumn('active', 'Aktivní'); $grid->addActionColumn('actions', '') ->addPrimaryAction('', fn($row) => $this->link('edit', $row['id']), 'bi bi-pencil', title: 'Upravit') ->addAction('Smazat', fn($row) => $this->link('delete!', $row['id']), 'bi bi-trash', 'text-danger', 'Opravdu smazat?'); // Hromadné akce $grid->setPrimaryKey('id') ->addBulkAction('delete', 'Smazat', fn($ids) => $this->handleBulkDelete($ids), icon: 'bi bi-trash', confirm: 'Opravdu smazat?'); return $grid; } }
2. Vykreslete v šabloně
{control userGrid}
3. Načtěte assety
<link rel="stylesheet" href="grid.css"> <link rel="stylesheet" href="dropdownlist.css"> <script type="module"> import naja from 'naja'; import GridInit from './grid.js'; import './dropdownlist.js'; naja.initialize(); GridInit(naja); </script>
Funkce
- Řazení sloupců (trojstavové: ↑ ↓ žádné)
- Globální fulltextové vyhledávání
- Filtrování po sloupcích (text, select, multiselect, datum, číslo, bool, AJAX dropdown)
- Stránkování s volbou počtu záznamů na stránku
- Akce na řádcích (primární tlačítko + dropdown menu)
- Hromadné akce se sticky barem a confirm dialogy
- Agregáty v patičce (sum, avg, count, min, max)
- Změna velikosti sloupců tažením (
setResizable()) - Přeřazování sloupců drag & drop (
setReorderable()) - Výběr viditelných sloupců (
showColumnToggle()) - Předvolby — uložení a obnovení kompletního stavu gridu (
showPresets()) - Bootstrap 5, Tailwind CSS nebo vlastní téma
- AJAX s Naja — snippet redraw, URL history, loading stav
- Volitelná integrace s Capify pro stylizované dialogy
Dokumentace
Kompletní dokumentace všech možností je v docs/README.md.
Licence
MIT
phloxcz/components-grid 适用场景与选型建议
phloxcz/components-grid 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 04 月 19 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「ui」 「datagrid」 「nette」 「component」 「grid」 「table」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 phloxcz/components-grid 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 phloxcz/components-grid 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 phloxcz/components-grid 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
FSi DataIndexer Component - Component created to provide one simple object indexing strategy for FSi DataSource and DataGrid components.
FSi DataGrid Component
FSi DataSource Component
Symfony DataGridBundle
A laravel package for using datagrids.
Nette Framework adapter for I18n package
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 30
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-04-19