Group actions:
Id Name Birthday Action
321 Zealous Zebra 8. 3. 1999
322 Real Raccoon 6. 2. 1944
323 Fiery Equestrian - The Revenge 20. 8. 1947
324 Bad Barracuda 17. 8. 1971
325 Jedi Rabbit Brothers 22. 4. 1934
326 Invisible Driving Caper 18. 6. 1956
327 Stormy Spider 24. 10. 1934
328 Courageous Crocodile 24. 8. 1931
329 Clumsy Crossbill 2. 1. 1947
330 Colorful Chipmunk 1. 5. 1948
331 Sonic Castlevania Championship 14. 12. 1975
332 Light Ladybird 18. 10. 1942
333 Inexpensive Ibex 14. 6. 1975
334 Perfect Panda 23. 7. 1942
335 Depressed Duck 25. 5. 1936
336 Irish Motorcycle Uprising 23. 3. 1989
337 Curious Crossbill 3. 5. 1940
338 Agreeable Ant 14. 3. 1943
339 Enchanting Eagle 9. 2. 1941
340 Plain Peafowl 13. 12. 1989
( Items: 321 - 340 from 1020 )
  See the code below 👇 or see GitHub
public function createComponentGrid(): DataGrid
{
	$grid = new DataGrid();

	$grid->setDataSource($this->dibiConnection->select('*')->from('users'));

	$grid->setItemsPerPageList([20, 50, 100]);

	$grid->setRowCallback(function ($item, $tr): void {
		$tr->addClass('super-' . $item->id);
	});

	$grid->addColumnNumber('id', 'Id')
		->setAlign('start')
		->setSortable();

	$grid->addColumnText('name', 'Name')
		->setSortable();

	$grid->addColumnDateTime('birth_date', 'Birthday');

	$grid->addAction('detail', '', 'this')
		->setIcon('sun')
		->setTitle('Detail');

	$grid->addAction('delete', '', 'delete!')
		->setIcon('trash')
		->setTitle('Delete')
		->setClass('btn btn-xs btn-danger ajax')
		->setConfirmation(
			new StringConfirmation('Do you really want to delete example %s?', 'name')
		);

	$grid->addGroupAction('Delete')->onSelect[] = [$this, 'groupDelete'];

	$grid->allowRowsGroupAction(fn ($item): bool => $item->id % 2 === 0);

	$grid->allowRowsAction('delete', fn ($item): bool => $item->id % 3 === 0);

	$grid->allowRowsAction('detail', fn ($item): bool => $item->id % 4 === 0);

	return $grid;
}