Jaký DataGrid použít – srovnání

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
flamengo
Člen | 135
+
0
-

Ahoj, potřebuji do začátku poradit, s jakým datagridem se mám začít trápit :D

Co budu potřebovat za funkce? Asi nic extra:

  • stránkování,
  • třídění,
  • filtrování,
  • vlastní tlačítka,
  • vybrat vše,
  • smazat vybrané,
  • změna pořadí řádků,
  • zobrazení/nezobrazení tlačítek přístupných položek,
  • vlastní šablony,
  • ajax,
  • celé to může být pod jQuery.

Zaregistroval jsem tu tři favority:

Nextras/DataGrid
github | demo a dokumentace

Mesour DataGrid
github | demo a dokumentace

DataGrid ublaboo
github | demo

Nějaké názory a doporučení?
Jo a pro nette 2.3 nebo 2.4. Předem díky moc za názory.

Oli
Člen | 1215
+
0
-

Ještě o5/Grido. Ten je asi nejpoužívanější. Zase DataGrid ublaboo prochází bouřlivým vývojem (se mě zdá – nějak extra to nesleduju).

Já používám Grido a v nové verzi by mělo podporovat asi vše co požaduješ…

potapnik
Člen | 127
+
+1
-

Ublaboo splnuje vse, co potrebujes, navic ma vybornou dokumentaci a spoustu nestandardnich veci resi velice jednodusse a pro me tak, jak bych si predstavoval a postupoval pri designu volani metod :)

Pavel Janda
Člen | 977
+
0
-

@flamengo Nejlepší je podívat se na stránky (demo/dema) jednotlivých datagridů a ozkoušet si, který ti vyhovuje. Já jsem se snažil ublaboo/datagrid napsat tak, aby byl jednoduchý pro pochopení programátora i kodéra. Občas mám tendenci rozsekat celý datagrid do spousty komponent, ale zatím k tomu nedošlo. Důvod – v jedné latte šabloně můžeš krásně přepsat jak celý datagrid, tak pouze definované bloky, nebo třeba jediný sloupec. A taky tohle vše dohromady. To by jinak nebylo dost dobře možné.

Taky záleží na tom – jakou databázovou vrstvu použiváš?

flamengo
Člen | 135
+
0
-

@PavelJanda Používám nette database. Ale myslím, že všechny výše uvedené DataGridy ji podporují.

Pavel Janda
Člen | 977
+
0
-

@flamengo Nette\Database podporuje pouze ublaboo. Nette\Database\Table podporují pravděpodobně všechny.
Co tím chci říci: Pokud píšeš query v sql ($ndb->query('SELECT * FROM ...')), tak musíš většinou udělat fetchAll() a předat toto pole gridu jako data source. Takové chování je však nežádoucí, pokud máš v databázi hodně záznamů. Rozhodně ti s tím může pomoc ublaboo/datagrid-nette-database-data-source, kdy můžeš poslat přímo tu query do datagridu a on si s tím už poradí (== nevolá fetchAll()).

To ták pro info.

flamengo
Člen | 135
+
0
-

@PavelJanda Tak bohužel mi nejde Ublablo nainstalovat: „composer require ublaboo/datagrid“ dle dokumentace a nic :(

flamengo
Člen | 135
+
0
-

@PavelJanda Tak už vím, že mé PHP 5.5.8 na to nestačí a je třeba minimálně 5.5.9.

Pavel Janda
Člen | 977
+
0
-

@flamengo Tak pro zajímavost – který balíček vyžaduje PHP 5.5.9?

flamengo
Člen | 135
+
0
-

@PavelJanda

- ublaboo/datagrid v4.3.0 requires symfony/property-access ~3.0 -> satisfiable by symfony/property-access[v3.0.0, v3.0.1, v3.0.2, v3.0.3, v3.0.4, v3.0.5, v3.0.6, v3.0.7, v3.1.0, v3.1.1].
- ublaboo/datagrid v4.3.1 requires symfony/property-access ~3.0 -> satisfiable by symfony/property-access[v3.0.0, v3.0.1, v3.0.2, v3.0.3, v3.0.4, v3.0.5, v3.0.6, v3.0.7, v3.1.0, v3.1.1].
- symfony/property-access v3.1.1 requires php >=5.5.9 -> your PHP version (5.5.8) does not satisfy that requirement.
- symfony/property-access v3.1.0 requires php >=5.5.9 -> your PHP version (5.5.8) does not satisfy that requirement.
- symfony/property-access v3.0.7 requires php >=5.5.9 -> your PHP version (5.5.8) does not satisfy that requirement.
- symfony/property-access v3.0.6 requires php >=5.5.9 -> your PHP version (5.5.8) does not satisfy that requirement.
- symfony/property-access v3.0.5 requires php >=5.5.9 -> your PHP version (5.5.8) does not satisfy that requirement.
- symfony/property-access v3.0.4 requires php >=5.5.9 -> your PHP version (5.5.8) does not satisfy that requirement.
- symfony/property-access v3.0.3 requires php >=5.5.9 -> your PHP version (5.5.8) does not satisfy that requirement.
- symfony/property-access v3.0.2 requires php >=5.5.9 -> your PHP version (5.5.8) does not satisfy that requirement.
- symfony/property-access v3.0.1 requires php >=5.5.9 -> your PHP version (5.5.8) does not satisfy that requirement.
- symfony/property-access v3.0.0 requires php >=5.5.9 -> your PHP version (5.5.8) does not satisfy that requirement.
- Installation request for ublaboo/datagrid ^4.3 -> satisfiable by ublaboo/datagrid[v4.3.0, v4.3.1].
flamengo
Člen | 135
+
0
-

@PavelJanda

Instalace DataSource for Nette\Database se bohužel nepovedla.

composer require ublaboo/datagrid-nette-database-data-source
- ublaboo/datagrid-nette-database-data-source v1.0.1 requires ublaboo/datagrid ~2.3|~3.0 -> satisfiable by ublaboo/datagrid[V2.3.8, v2.3.0, v2.3.1, v2.3.10,v2.3.11, v2.3.2, v2.3.3, v2.3.4, v2.3.5, v2.3.6, v2.3.7, v2.3.9, v3.0.0, v3.0.1, v3.0.2, v3.0.3, v3.0.4, v3.0.5, v3.0.6, v3.0.7, v3.0.8, v3.0.9, v3.1.0, v3.1.1, v3.1.2, v3.1.3, v3.1.4, v3.1.5, v3.1.6, v3.1.7, v3.2.0, v3.3.0, v3.3.1] but these conflict with your requirements or minimum-stability.
- ublaboo/datagrid-nette-database-data-source v1.0.0 requires ublaboo/datagrid ~2.3|~3.0 -> satisfiable by ublaboo/datagrid[V2.3.8, v2.3.0, v2.3.1, v2.3.10,v2.3.11, v2.3.2, v2.3.3, v2.3.4, v2.3.5, v2.3.6, v2.3.7, v2.3.9, v3.0.0, v3.0.1, v3.0.2, v3.0.3, v3.0.4, v3.0.5, v3.0.6, v3.0.7, v3.0.8, v3.0.9, v3.1.0, v3.1.1, v3.1.2, v3.1.3, v3.1.4, v3.1.5, v3.1.6, v3.1.7, v3.2.0, v3.3.0, v3.3.1] but these conflict with your requirements or minimum-stability.
- Installation request for ublaboo/datagrid-nette-database-data-source ^1.0-> satisfiable by ublaboo/datagrid-nette-database-data-source[v1.0.0, v1.0.1].
Installation failed, reverting ./composer.json to its original content.
Pavel Janda
Člen | 977
+
0
-

@flamengo Fixnul jsem verze v composeru. Již je to ok.