Id Name Action
841 Grotesque Gull Blahblah
842 Blasphemous Thunder Conquest Blahblah
843 Impossible Impala Blahblah
844 Political Sandwich Hunt Blahblah
845 Russian Disco Groove Blahblah
846 Impossible Impala Blahblah
847 Epic Ice Cream Pioneer Blahblah
848 Powerful Piranha Blahblah
849 Selfish Seal Blahblah
850 Obnoxious Ox Blahblah
851 Important Impala Blahblah
852 Amused Angelfish Blahblah
853 Obedient Ocelot Blahblah
854 Wide-eyed Worm Blahblah
855 Kabuki Biplane Shack Blahblah
856 Handsome Hedgehog Blahblah
857 Lazy Lapwing Blahblah
858 Hitler Software Overdrive Blahblah
859 The Castle of Aerobics Warfare Blahblah
860 Tired Tortoise Blahblah
( Items: 841 - 860 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;
}