Id Name Birthday Status
621 Dark Dormouse 24. 8. 1966 deleted
622 Naughty Newt 2. 6. 1998 deleted
623 Terrible Tuatara 16. 5. 1974 deleted
624 Easy Emu 12. 4. 1966 inactive
625 Electric Mummy Epidemic 24. 9. 1944 deleted
626 Different Dugong 28. 3. 1979 deleted
627 Agreeable Alligator 8. 6. 1967 active
628 Unpleasant Caveman XP 6. 6. 1934 active
629 Wrong Walrus 19. 2. 1937 inactive
630 Arrogant Albatross 11. 7. 1980 active
631 Barbie Barcode in the Salad Kingdom 19. 6. 1996 active
632 Anxious Anteater 9. 10. 1995 active
633 Subatomic Shopping Palace 2. 5. 1938 deleted
634 Nighttime Puppy - The Revenge 22. 11. 1993 inactive
635 Adventurous Addax 5. 8. 1986 active
636 Outrageous Oyster 15. 6. 1950 inactive
637 Nudist City Man 22. 5. 1970 deleted
638 Aggressive Alpaca 17. 8. 1987 deleted
639 Elite Llama Tycoon 12. 3. 1969 active
640 Weary Wren 11. 6. 1938 active
( Items: 621 - 640 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->addColumnNumber('id', 'Id')
		->setAlign('start')
		->setSortable();

	$grid->addColumnText('name', 'Name')
		->setSortable()
		->setFilterText();

	$grid->addColumnDateTime('birth_date', 'Birthday');

	$grid->addColumnText('status', 'Status');

	$grid->addExportCallback('Dump to ajax rq', function (array $rows, DataGrid $grid): void {
		echo 'All fetched data were passed to export callback. Size of data: ';
		echo count($rows);
		die;
	})->setAjax();

	$grid->addExportCsvFiltered('Csv export (filtered)', 'examples.csv')
		->setTitle('Csv export (filtered)');

	$columnName = new ColumnText($grid, 'name', 'name', 'Name');
	$columnEven = (new ColumnText($grid, 'even', 'even', 'Even ID (yes/no)'))
		->setRenderer(
			fn ($item) => $item['id'] % 2 === 0 ? 'No' : 'Yes'
		);

	$grid->addExportCsv('Csv export', 'examples-all.csv')
		->setTitle('Csv export')
		->setColumns([
			$columnName,
			$columnEven,
		]);

	return $grid;
}