Id Name Birthday Age
121 Revenge of the Kabuki in the Bayou 13. 8. 1979 45
122 Telekinetic Police from Hell 5. 9. 1961 63
123 Allied Racing 25th Anniversary Edition 22. 2. 1974 50
124 Rockin' Fun from Mars 18. 4. 1954 70
125 Relieved Ray 18. 3. 1993 31
126 Ho-Hum Pogo Annihilation 8. 7. 1961 63
127 Inappropriate Furry Roundup 24. 10. 1961 63
128 Blasphemous Fishing Man 27. 4. 1980 44
129 Pixellated Kart Fighter 14. 8. 1968 56
130 Hilarious Herring 12. 9. 1971 53
131 Irritating Boxing Runner 18. 3. 2000 24
132 Repulsive Rhinoceros 24. 10. 1947 77
133 Cautious Corncrake 12. 9. 1978 46
134 Orbital Jungle Legend 20. 11. 1980 44
135 Subatomic Goth Stadium 9. 5. 1982 42
136 Crazy Cowfish 18. 4. 1995 29
137 Anxious Albatross 5. 1. 1936 88
138 Elegant Emu 8. 10. 1969 55
139 Spectacular Shadow Returns 23. 3. 1979 45
140 The Robot in Middle-Earth 9. 3. 1980 44
( Items: 121 - 140 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;
}