Group actions:
Id Name Status
1 Charming Chicken inactive
2 Intellectual Bubble Disaster active
3 Crazy Copperhead active
4 Difficult Deer inactive
5 Underground Harpoon Gladiator active
6 Anxious Alpaca active
7 Misty Meerkat inactive
8 Funky Chainsaw of Mystery inactive
9 Sid Meier Deer Hunter Hoedown active
10 Terrible Karaoke of Mystery inactive
11 Joyous Jaguar inactive
12 Silly Sheep inactive
13 Grumpy Gerenuk inactive
14 Glorious Gaur inactive
15 Xenophobic Xenomorph inactive
16 Relieved Rhinoceros inactive
17 Bad Buzzard inactive
18 Dangerous Dolphin inactive
19 Quaint Quoll inactive
20 Thoughtless Turkey inactive
( Items: 1 - 20 from 1000 )
  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->addColumnNumber('id', 'Id')
		->setAlign('left')
		->setSortable();

	$grid->addColumnText('name', 'Name')
		->setSortable();

	$grid->addColumnText('email', 'E-mail')
		->setSortable();

	$grid->addColumnDateTime('status', 'Status');

	$grid->addGroupAction(
		'Change user status',
		[
			'active' => 'Active',
			'inactive' => 'Inactive',
			'deleted' => 'Deleted',
		]
	)->onSelect[] = [$this, 'groupChangeStatus'];

	$grid->addGroupAction('Send', [
		'john'  => 'John',
		'joe'   => 'Joe',
		'frank' => 'Frank',
	])->onSelect[] = [$this, 'groupSend'];

	$grid->addGroupTextAction('Add note')->onSelect[] = [$this, 'groupAddNote'];

	$grid->addGroupAction('Delete')->onSelect[] = [$this, 'groupDelete'];

	$grid->addGroupButtonAction('Say hello')->onClick[] = [$this, 'sayHello'];

	return $grid;
}