Id Name Birthday Age
201 Crazy Copperhead 1. 7. 1978 46
202 Smiling Shark 11. 2. 1950 74
203 Amused Ape 10. 6. 1996 28
204 Concerned Cow 9. 7. 1989 35
205 Worrisome Wren 22. 5. 1953 71
206 Romantic Chocobo Preacher 19. 10. 1987 37
207 Inappropriate Pinball - The Gathering Storm 26. 9. 1992 32
208 World of Graveyard Explosion 14. 8. 1986 38
209 Revenge of the Math Saloon 21. 11. 1958 66
210 Search for the Bowling Slaughter 19. 3. 1987 37
211 Bewildering Amish Train 20. 2. 1995 29
212 Thoughtless Thrush 20. 12. 1972 51
213 Atomic STD Rush 3. 6. 1985 39
214 Virtua Architecture Squadron 7. 9. 1998 26
215 Wicked Wasp 7. 10. 1942 82
216 Vast Vulture 25. 12. 1986 37
217 Yucky Yak 23. 8. 1938 86
218 Hindu Wheelchair City 17. 10. 1995 29
219 Foolish Fly 6. 2. 1968 56
220 Homely Hornet 14. 12. 1950 73
( Items: 201 - 220 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], 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(fn (Row $row): ?int => DateTime::fromSafe($row->asDateTime('birth_date'))?->diff(new DateTime())->y);

	return $grid;
}