Id Name Action
861 Fine Flamingo Blahblah
862 Enormous Rollerball Assassins Blahblah
863 Dark Dugong Blahblah
864 Frisky Sewer Espionage Blahblah
865 Tasteless Booty Master Blahblah
866 Deep Space Big Game Hunter Orchestra Blahblah
867 Lazy Leopard Blahblah
868 Lair of the Stick Princess Blahblah
869 Fatal Fishing Creator Blahblah
870 MTV Jazz Deathmatch Blahblah
871 Ill Impala Blahblah
872 Strange Scarab Blahblah
873 Galactic Bomberman Fun Blahblah
874 Adorable Addax Blahblah
875 Wooden Cookie Havoc Blahblah
876 Cautious Cod Blahblah
877 Inappropriate Cooking Underworld Blahblah
878 Helpful Hoopoe Blahblah
879 Almighty Surf in Busytown Blahblah
880 Fantastic Fox Blahblah
( Items: 861 - 880 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;
}