Id Name Action
401 Summer Underwear Trivia Blahblah
402 Proud Pelican Blahblah
403 Victorious Vendace Blahblah
404 Innocent Ibis Blahblah
405 Tender Tern Blahblah
406 Odd Okapi Blahblah
407 Frail Frog Blahblah
408 Wooden Guitar Diesel Blahblah
409 Hip-Hop Vigilante Ultra Blahblah
410 The Last Cannibal Rebellion Blahblah
411 Raging Drug-Dealing Heroes Blahblah
412 Important Ibis Blahblah
413 Comfortable Corncrake Blahblah
414 We Love Banjo Crime Scene Investigation Blahblah
415 Samba de Mall from Outer Space Blahblah
416 Star Octopus Gladiator Blahblah
417 Transvestite Princess Fighter Blahblah
418 Dr. Spelling Alpha Blahblah
419 Bloody Bear Blahblah
420 Claustrophobic Afro Co-Op Blahblah
( Items: 401 - 420 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;
}