Group actions:
Id Name Birthday Action
421 Educational Viking School 4. 7. 1940
422 Cloudy Cardinal 18. 1. 1973
423 Uptight Unicorn 4. 9. 1983
424 Famous Flatworm 20. 10. 2000
425 Bewildered Bee 15. 4. 1965
426 Romantic Elevator - 2nd Impact 9. 6. 1961
427 The Care Bears' Bungie Lord 22. 12. 1968
428 Thankful Tapir 5. 4. 1935
429 Difficult Dotterel 22. 9. 1959
430 Hazardous Whale On The Road 14. 4. 1991
431 Internet Raccoon Carnage 3. 6. 1935
432 Jealous Jaguar 4. 1. 1949
433 Hidden Werewolf Fantasy 8. 9. 1974
434 Dull Dormouse 2. 6. 1966
435 NBA Disco Temple 25. 10. 1993
436 Eager Eagle 11. 5. 1957
437 Witty Wolverine 27. 4. 1950
438 Ill Impala 15. 3. 1997
439 Robot Batman Roundup 25. 12. 1981
440 Victorious Vole 7. 8. 1982
( Items: 421 - 440 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;
}