Group actions:
Id Name Birthday Action
61 Blocky Octopus Horde 10. 10. 1945
62 Little Hang Glider Tournament 13. 7. 1960
63 Fine Flatworm 27. 12. 1945
64 Underground Chess Feud 19. 7. 1936
65 Irritating Blood of the Deep 5. 12. 1974
66 Dangerous Buddhist in the Salad Kingdom 20. 11. 1985
67 Terrible Teira 25. 5. 1986
68 Mexican Hair Salon in the Hood 5. 8. 1934
69 Depressed Dogfish 21. 4. 1981
70 First-Person Snowboard Rider 10. 5. 1973
71 Underwater Shopping Football 12. 1. 1963
72 Glamorous Gemsbok 16. 10. 1974
73 New Bow Hunter Thieves 13. 7. 1984
74 Nuclear Dating Special Edition 4. 7. 1935
75 Awesome Mummy Annihilation 8. 12. 1957
76 Irresistible Fire Psychiatrist 21. 11. 1956
77 Ill Iguana 9. 4. 1996
78 Wide-eyed Walrus 27. 9. 1943
79 Grumpy Goldfinch 26. 3. 1937
80 Helpful Hippopotamus 24. 9. 1951
( Items: 61 - 80 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;
}