Group actions:
Id Name Birthday Action
761 Vivacious Vendace 10. 2. 1948
762 Grotesque Gannet 6. 8. 1987
763 Doubtful Deer 7. 7. 1930
764 Grieving Grouse 19. 6. 1949
765 Insane Rugby of Might and Magic 24. 1. 1996
766 Unpleasant Volleyball Caper 22. 8. 1973
767 Heavy Chase Explosion 26. 4. 1966
768 Friendly Fish 21. 10. 1970
769 Lost Puzzle Voyage 1. 11. 1979
770 The Six Million Dollar Sniper Tycoon 4. 7. 1998
771 Enchanting Echidna 3. 2. 1981
772 BudgetSoft Presents: Plumber Train 4. 3. 1965
773 Future Quiz Desperadoes 24. 9. 1948
774 Psycho Banana Overlords 8. 9. 1961
775 Thankful Teira 15. 5. 1998
776 College Dance Siege 22. 9. 1951
777 Rich Reindeer 2. 8. 1957
778 Heroic Graveyard Fiesta 20. 12. 1963
779 Annoyed Anteater 26. 5. 1964
780 Confused Cheetah 5. 9. 1960
( Items: 761 - 780 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;
}