Id Name Action
301 Ashamed Armadillo Blahblah
302 Super Cooking Psychiatrist Blahblah
303 Lazy Kabuki Pioneer Blahblah
304 Odd Octopus Blahblah
305 Relieved Raven Blahblah
306 Legacy of Vocabulary Fest Blahblah
307 Hazardous Octopus Mania Blahblah
308 Amused Armadillo Blahblah
309 Mega Man Puzzle Dystopia Blahblah
310 Flying Porn Hoedown Blahblah
311 Sid Meier Flatulence Squadron Blahblah
312 Vast Vendace Blahblah
313 Ashamed Albatross Blahblah
314 Poised Puffin Blahblah
315 Street Metal Nitro Blahblah
316 Irritating Lizard - The Lost Levels Blahblah
317 Ultraviolent Pachinko 2000 Blahblah
318 Insane Plunger Anarchy Blahblah
319 Blushing Booby Blahblah
320 Magnetic Amish Empire Blahblah
( Items: 301 - 320 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;
}