Id Name Action
441 Uptight Unicorn Blahblah
442 Misty Macaque Blahblah
443 Imperial Hoedown Havoc Blahblah
444 Panicky Porpoise Blahblah
445 Attractive Alligator Blahblah
446 Joyous Jay Blahblah
447 Spectacular Thief in the Hood Blahblah
448 Big Stunt from Mars Blahblah
449 Masters of Beach School Blahblah
450 Disturbed Dog Blahblah
451 Horrible Horse Blahblah
452 Beautiful Driving Vengeance Blahblah
453 Lazy Breakdancing Challenge Blahblah
454 Super Spider Blahblah
455 Alive Ant Blahblah
456 Pleasant Platypus Blahblah
457 Hindu Frisbee in Space Blahblah
458 Rockin' Lego Patrol Blahblah
459 Better Barracuda Blahblah
460 Defeated Dugong Blahblah
( Items: 441 - 460 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;
}