Id Name Action
421 Educational Viking School Blahblah
422 Cloudy Cardinal Blahblah
423 Uptight Unicorn Blahblah
424 Famous Flatworm Blahblah
425 Bewildered Bee Blahblah
426 Romantic Elevator - 2nd Impact Blahblah
427 The Care Bears' Bungie Lord Blahblah
428 Thankful Tapir Blahblah
429 Difficult Dotterel Blahblah
430 Hazardous Whale On The Road Blahblah
431 Internet Raccoon Carnage Blahblah
432 Jealous Jaguar Blahblah
433 Hidden Werewolf Fantasy Blahblah
434 Dull Dormouse Blahblah
435 NBA Disco Temple Blahblah
436 Eager Eagle Blahblah
437 Witty Wolverine Blahblah
438 Ill Impala Blahblah
439 Robot Batman Roundup Blahblah
440 Victorious Vole Blahblah
( Items: 421 - 440 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;
}