Id Name Action
1 Charming Chicken Blahblah
2 Intellectual Bubble Disaster Blahblah
3 Crazy Copperhead Blahblah
4 Difficult Deer Blahblah
5 Underground Harpoon Gladiator Blahblah
6 Anxious Alpaca Blahblah
7 Misty Meerkat Blahblah
8 Funky Chainsaw of Mystery Blahblah
9 Sid Meier Deer Hunter Hoedown Blahblah
10 Terrible Karaoke of Mystery Blahblah
11 Joyous Jaguar Blahblah
12 Silly Sheep 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 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->setSortable();

	$grid->addColumnNumber('id', 'Id')
		->setAlign('left')
		->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;
}