Id Name Birthday Age
1 Charming Chicken 23. 2. 1982 42
2 Intellectual Bubble Disaster 2. 1. 1997 27
3 Crazy Copperhead 21. 5. 1955 68
4 Difficult Deer 23. 5. 1964 59
5 Underground Harpoon Gladiator 23. 8. 1939 84
6 Anxious Alpaca 25. 9. 1985 38
7 Misty Meerkat 11. 3. 1974 50
8 Funky Chainsaw of Mystery 23. 5. 1946 77
9 Sid Meier Deer Hunter Hoedown 20. 4. 1944 79
10 Terrible Karaoke of Mystery 10. 4. 1981 43
11 Joyous Jaguar 19. 9. 1994 29
12 Silly Sheep 19. 1. 1936 88
13 Grumpy Gerenuk 27. 9. 1978 45
14 Glorious Gaur 15. 12. 1977 46
15 Xenophobic Xenomorph 3. 3. 1987 37
16 Relieved Rhinoceros 11. 2. 1945 79
17 Bad Buzzard 8. 3. 1983 41
18 Dangerous Dolphin 28. 4. 1931 92
19 Quaint Quoll 27. 10. 1949 74
20 Thoughtless Turkey 14. 8. 1941 82
( Items: 1 - 20 from 1000 )
  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], true);

	$grid->addColumnText('id', 'Id')
		->setSortable();

	$grid->addColumnText('email', 'E-mail')
		->setSortable()
		->setFilterText();

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

	$grid->addColumnDateTime('birth_date', 'Birthday')
		->setFormat('j. n. Y');

	$grid->addColumnNumber('age', 'Age')
		->setRenderer(function (Row $row): int {
			return $row['birth_date']->diff(new DateTime())->y;
		});

	return $grid;
}