Id Name Action
321 Zealous Zebra Blahblah
322 Real Raccoon Blahblah
323 Fiery Equestrian - The Revenge Blahblah
324 Bad Barracuda Blahblah
325 Jedi Rabbit Brothers Blahblah
326 Invisible Driving Caper Blahblah
327 Stormy Spider Blahblah
328 Courageous Crocodile Blahblah
329 Clumsy Crossbill Blahblah
330 Colorful Chipmunk Blahblah
331 Sonic Castlevania Championship Blahblah
332 Light Ladybird Blahblah
333 Inexpensive Ibex Blahblah
334 Perfect Panda Blahblah
335 Depressed Duck Blahblah
336 Irish Motorcycle Uprising Blahblah
337 Curious Crossbill Blahblah
338 Agreeable Ant Blahblah
339 Enchanting Eagle Blahblah
340 Plain Peafowl Blahblah
( Items: 321 - 340 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;
}