Group actions:
Id Name Birthday Action
441 Uptight Unicorn 14. 7. 1958
442 Misty Macaque 17. 9. 1974
443 Imperial Hoedown Havoc 16. 8. 1959
444 Panicky Porpoise 8. 5. 1994
445 Attractive Alligator 10. 8. 1941
446 Joyous Jay 2. 8. 1998
447 Spectacular Thief in the Hood 6. 2. 1953
448 Big Stunt from Mars 23. 11. 1974
449 Masters of Beach School 2. 9. 1951
450 Disturbed Dog 14. 10. 1946
451 Horrible Horse 6. 10. 1995
452 Beautiful Driving Vengeance 18. 8. 1954
453 Lazy Breakdancing Challenge 24. 5. 1955
454 Super Spider 24. 12. 1963
455 Alive Ant 8. 4. 1954
456 Pleasant Platypus 4. 1. 1992
457 Hindu Frisbee in Space 5. 5. 2000
458 Rockin' Lego Patrol 8. 4. 1948
459 Better Barracuda 26. 3. 1939
460 Defeated Dugong 8. 11. 2000
( Items: 441 - 460 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;
}