Id Name Action
821 Legacy of City Ultra Blahblah
822 Micro Princess Returns Blahblah
823 Confused Camel Blahblah
824 Grieving Goose Blahblah
825 Expensive Eel Blahblah
826 Bling Bling Chef Derby Blahblah
827 Relieved Rattlesnake Blahblah
828 Smoggy Skylark Blahblah
829 Annoying Angelfish Blahblah
830 Gleaming Goosander Blahblah
831 Colonial Shopping Park Blahblah
832 Xenophobic Xenomorph Blahblah
833 Inquisitive Ibis Blahblah
834 Kind Katipo Blahblah
835 Ho-Hum Cowboy Deluxe Blahblah
836 Deadly Snowboard Strike Force Blahblah
837 Shiny Seahorse Blahblah
838 Energetic Eel Blahblah
839 Bored Bee Blahblah
840 Soviet Soccer Daredevils Blahblah
( Items: 821 - 840 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;
}