Group actions:
Id Name Birthday Action
281 Wandering Wallaby 12. 7. 1949
282 Black Bird 5. 4. 1972
283 Wicked Whale 14. 11. 1995
284 Upset Unicorn 12. 8. 1966
285 Beautiful Tetris Task Force 10. 2. 1996
286 Preschool Bandicoot Slam 5. 1. 1946
287 Mind-Bending Harpoon Live 8. 12. 1957
288 Thankful Thrush 12. 5. 1982
289 Lovely Lizard 9. 9. 1977
290 First-Person Toon Horror 23. 1. 1978
291 Cheerful Cat 15. 12. 1984
292 Faithful Fox 20. 8. 1989
293 Perfect Puffin 5. 6. 1995
294 Blue-eyed Badger 17. 2. 1985
295 Heavy Metal Outlaw Boy 10. 7. 1979
296 Quiet Surgery vs. Capcom 10. 2. 1932
297 Jealous Jay 25. 3. 1993
298 Magnetic Conga Ransom 27. 7. 1991
299 Irresistible Speed Scandal 22. 3. 1957
300 Shameful Hoedown Pioneer 1. 6. 1937
( Items: 281 - 300 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;
}