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