PHPackages                             phloxcz/components-grid - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. phloxcz/components-grid

ActiveLibrary[Framework](/categories/framework)

phloxcz/components-grid
=======================

DataGrid UI component for Nette Framework

v1.0.0(1mo ago)01MITPHPPHP ^8.1

Since Apr 19Pushed 1mo agoCompare

[ Source](https://github.com/phloxcz/components-grid)[ Packagist](https://packagist.org/packages/phloxcz/components-grid)[ RSS](/packages/phloxcz-components-grid/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (5)Versions (2)Used By (0)

phlox/components-grid
=====================

[](#phloxcomponents-grid)

DataGrid UI komponenta pro [Nette Framework](https://nette.org). 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
---------

[](#požadavky)

- PHP 8.1+
- nette/application ^3.1 || ^4.0
- nette/database ^3.1 || ^4.0
- nette/utils ^3.2 || ^4.0

Instalace
---------

[](#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
----------

[](#quickstart)

### 1. Zaregistrujte komponentu v presenteru

[](#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ě

[](#2-vykreslete-v-šabloně)

```
{control userGrid}
```

### 3. Načtěte assety

[](#3-načtěte-assety)

```

    import naja from 'naja';
    import GridInit from './grid.js';
    import './dropdownlist.js';

    naja.initialize();
    GridInit(naja);

```

Funkce
------

[](#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 &amp; 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](https://github.com/phloxcz/capify) pro stylizované dialogy

Dokumentace
-----------

[](#dokumentace)

Kompletní dokumentace všech možností je v [docs/README.md](docs/README.md).

Licence
-------

[](#licence)

MIT

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance90

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

51d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e1c90a32c18492fe4ad47c3250ea60377f8d824ec2415b64e385c90979cb82c0?d=identicon)[phloxcz](/maintainers/phloxcz)

---

Tags

netteuigridcomponentdatagridtable

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/phloxcz-components-grid/health.svg)

```
[![Health](https://phpackages.com/badges/phloxcz-components-grid/health.svg)](https://phpackages.com/packages/phloxcz-components-grid)
```

###  Alternatives

[ublaboo/datagrid

DataGrid for Nette Framework: filtering, sorting, pagination, tree view, table view, translator, etc

3042.0M24](/packages/ublaboo-datagrid)[o5/grido

Grido - DataGrid for Nette Framework

87292.1k4](/packages/o5-grido)[atk4/ui

Agile UI - Web Component Framework written in PHP

460541.3k33](/packages/atk4-ui)[contributte/application

Extra contrib to nette/application

362.8M8](/packages/contributte-application)[nasext/dependent-select-box

Dependent Select Box for Nette Framework.

21268.2k2](/packages/nasext-dependent-select-box)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
