Id Name Action
61 Blocky Octopus Horde Blahblah
62 Little Hang Glider Tournament Blahblah
63 Fine Flatworm Blahblah
64 Underground Chess Feud Blahblah
65 Irritating Blood of the Deep Blahblah
66 Dangerous Buddhist in the Salad Kingdom Blahblah
67 Terrible Teira Blahblah
68 Mexican Hair Salon in the Hood Blahblah
69 Depressed Dogfish Blahblah
70 First-Person Snowboard Rider Blahblah
71 Underwater Shopping Football Blahblah
72 Glamorous Gemsbok Blahblah
73 New Bow Hunter Thieves Blahblah
74 Nuclear Dating Special Edition Blahblah
75 Awesome Mummy Annihilation Blahblah
76 Irresistible Fire Psychiatrist Blahblah
77 Ill Iguana Blahblah
78 Wide-eyed Walrus Blahblah
79 Grumpy Goldfinch Blahblah
80 Helpful Hippopotamus Blahblah
( Items: 61 - 80 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;
}