Id Name Action
1 Klikam na asd Blahblah
2 aaaa Blahblah
3 aaa Blahblah
4 Difficult Deer Blahblah
5 Underground Harpoon Gladiator Blahblah
6 Anxious Alpacaaaa a aa Blahblah
7 Misty Meerkat Blahblah
8 Funky Chainsaw of Mysteryasd as da Blahblah
9 Sid Meier Deer Hunter Hoedown Blahblah
10 Terrible Karaoke of Mystery Blahblah
11 Joyous Jaguara sda sd Blahblah
12 Silly Sheepasdasd Blahblah
13 Grumpy Gerenuk Blahblah
14 Glorious Gaur Blahblah
15 Xenophobic Xenomorph Blahblah
16 Relieved Rhinoceros Blahblah
17 Bad Buzzard Blahblah
18 Dangerous Dolphin Blahblah
19 Quaint Quoll Blahblah
20 Thoughtless Turkey Blahblah
( Items: 1 - 20 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->setSortable();

	$grid->addColumnNumber('id', 'Id')
		->setAlign('start')
		->setSortable();

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

	$multiAction = $grid->addMultiAction('multi_blah', 'MultiAction')
		->addAction('blah', 'Blahblah', 'blah!')
		->addAction('blah2', 'Blahblah2', 'blah!', ['name']);

	$multiAction
		->getAction('blah2')
		->setIcon('check');

	$grid->addAction('blah', 'Blahblah', 'blah!')
		->setClass('btn btn-xs btn-primary ajax');

	$grid->addAction('this', '')
		->setIcon('redo')
		->setClass('btn btn-xs btn-success');

	$actionCallback = $grid->addActionCallback('custom_callback', '');

	$actionCallback
		->setIcon('sun')
		->setTitle('Hello, sun')
		->setClass('btn btn-xs btn-default btn-secondary ajax');

	$actionCallback->onClick[] = function ($itemId): void {
		$this->flashMessage('Custom callback triggered, id: ' . $itemId);
		$this->redrawControl('flashes');
	};

	$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->addToolbarButton('this', 'Toolbar')->addAttributes(['foo' => 'bar']);
	$grid->addToolbarButton('this#2', 'Button', ['foo' => 'bar']);

	return $grid;
}