Group actions:
Id Name Birthday Action
561 Crazy Pogo Bastards 5. 11. 1993
562 Fantastic Turtle Odyssey 13. 3. 1943
563 Naughty Unicorn Inferno 6. 6. 1947
564 Yawning Yacare 17. 10. 1944
565 Cheerful Camel 10. 10. 1937
566 Musical Thief Boxing 16. 4. 1955
567 Lucky Lion 21. 6. 1959
568 Combative Chicken 6. 2. 1956
569 Gothic Mall Story 16. 2. 1941
570 Paranoid College Fiesta 17. 1. 1931
571 Defiant Dogfish 2. 11. 1977
572 Blue Barracuda 4. 2. 1970
573 Legend of Blade - The Dark Project 21. 10. 1955
574 Glorious Goose 26. 9. 1938
575 Envious Eel 1. 2. 1977
576 Innocent Iguana 17. 11. 1968
577 Profane Animal in the Outback 8. 9. 1949
578 Unbelievable Moped Jamboree 3. 9. 1968
579 Sleepy Swiftlet 7. 6. 1991
580 Nasty Barbarian vs. Capcom 14. 1. 1966
( Items: 561 - 580 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;
}