Id Name Action
241 Long Lapwing Blahblah
242 Aero Shopping Unit Blahblah
243 Prickly Panda Blahblah
244 Screaming Conga Train Blahblah
245 Smiling Shark Blahblah
246 Fair Fowl Blahblah
247 Dizzy Dog Blahblah
248 Sid Meier Sandwich Studio Blahblah
249 Obsessive-Compulsive Pony Desperadoes Blahblah
250 Master Chief Stapler Ultra Blahblah
251 Unremarkable Stick Struggle Blahblah
252 Brain-Damaged Cannibal Rider Blahblah
253 Agreeable Anteater Blahblah
254 In Search of Office Exhibition Blahblah
255 Encouraging Echidna Blahblah
256 Ashamed Aardvark Blahblah
257 Prickly Puffin Blahblah
258 Brave Bee Blahblah
259 Joyous Jellyfish Blahblah
260 Anxious Addax Blahblah
( Items: 241 - 260 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;
}