Id Name Birthday Age
81 Selfish Snail 23. 9. 1998 25
82 Prehistoric Toon Interactive 2. 6. 1969 54
83 Disturbed Dunlin 21. 3. 1991 33
84 Itchy Impala 8. 1. 1978 46
85 Good Gnu 23. 3. 1964 60
86 Dance Dance Jazz Park 4. 10. 1980 43
87 Fisher Price Bingo Man 26. 1. 1930 94
88 Bewildering Batman Revenge 24. 4. 1984 40
89 Political Scorched Earth Syndrome 11. 6. 1948 75
90 Naughty Narwhal 8. 12. 1994 29
91 Xenophobic Xenomorph 10. 2. 1958 66
92 Cooperative Camel 23. 8. 1935 88
93 Famous Falcon 20. 5. 1941 82
94 Samurai Dance Fiasco 17. 6. 1955 68
95 Terrible Teira 3. 9. 1947 76
96 Robot Dating Force 6. 1. 1956 68
97 Better Butterfly 12. 6. 1956 67
98 Yellowed Yacare 1. 11. 1978 45
99 Cruel Crayfish 5. 1. 1973 51
100 Morbidly Obese Maze Playhouse 19. 8. 1953 70
( Items: 81 - 100 from 1000 )
1 3 4 5 6 7 50
  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;
}