Id Name Birthday Age
1 Charming Chicken 23. 2. 1982 39
2 Intellectual Bubble Disaster 2. 1. 1997 24
3 Crazy Copperhead 21. 5. 1955 65
4 Difficult Deer 23. 5. 1964 56
5 Underground Harpoon Gladiator 23. 8. 1939 81
6 Anxious Alpaca 25. 9. 1985 35
7 Misty Meerkat 11. 3. 1974 47
8 Funky Chainsaw of Mystery 23. 5. 1946 74
9 Sid Meier Deer Hunter Hoedown 20. 4. 1944 77
10 Terrible Karaoke of Mystery 10. 4. 1981 40
11 Joyous Jaguar 19. 9. 1994 26
12 Silly Sheep 19. 1. 1936 85
13 Grumpy Gerenuk 27. 9. 1978 42
14 Glorious Gaur 15. 12. 1977 43
15 Xenophobic Xenomorph 3. 3. 1987 34
16 Relieved Rhinoceros 11. 2. 1945 76
17 Bad Buzzard 8. 3. 1983 38
18 Dangerous Dolphin 28. 4. 1931 90
19 Quaint Quoll 27. 10. 1949 71
20 Thoughtless Turkey 14. 8. 1941 79
( 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;
}