Id Name Action
341 Inappropriate Arcade Armada Blahblah
342 Dwarven Fun Fight Club Blahblah
343 Nutty Newt Blahblah
344 Tense Tuatara Blahblah
345 Brainy Buffalo Blahblah
346 College Devil from Planet X Blahblah
347 Gentle Gibbon Blahblah
348 Allied Dodgeball - The Next Generation Blahblah
349 Crowded Crab Blahblah
350 Enchanting Eagle Blahblah
351 Wicked Weasel Blahblah
352 Sore Sloth Blahblah
353 Peaceful Sewer Smash Blahblah
354 Peaceful Chess Party Blahblah
355 Nasty Narwhal Blahblah
356 Bloody Booty Trader Blahblah
357 Weary Breakdancing II Blahblah
358 Exuberant Eel Blahblah
359 Nutty Newt Blahblah
360 Aquatic Katana Bandits Blahblah
( Items: 341 - 360 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;
}