Id Name Birthday Age
101 Elite Grizzly Bear Insanity 4. 9. 1945 79
102 Legendary Yak in Africa 14. 2. 1982 42
103 Testy Tiger 25. 8. 1958 66
104 Professional Cheese Trivia 27. 2. 1979 45
105 Thoughtful Teira 24. 7. 1943 81
106 Unstoppable Transvestite Country 21. 5. 1948 76
107 Blue-eyed Barracuda 28. 6. 1993 31
108 Motionless Macaw 18. 10. 1997 27
109 Mighty Helicopter Special Edition 9. 9. 1992 32
110 Mystical Volleyball Dudes 26. 2. 1968 56
111 Neon Driving Squadron 6. 4. 1952 72
112 Lazy Locust 13. 5. 1997 27
113 Luigi Quantum Freak 12. 6. 1986 38
114 Profane Buddhist Dystopia 6. 7. 1996 28
115 Elegant Bowling Fight 24. 11. 1932 91
116 Delightful Duck 18. 6. 1963 61
117 Bizarre Kangaroo - 2nd Impact 23. 12. 1964 59
118 Creepy Cicada 13. 7. 1953 71
119 Transvestite Plumber Feud 19. 8. 1941 83
120 Ugly Unicorn 12. 1. 1938 86
( Items: 101 - 120 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;
}