Id Name Birthday Age
161 Arcane Sailor Smackdown 10. 5. 2000 24
162 Giant Wedding Trainer 18. 8. 1994 30
163 Fine Flatworm 10. 8. 1943 81
164 Clumsy Chicken 28. 5. 1949 75
165 Aggressive Antelope 9. 11. 1945 79
166 Obsessive-Compulsive Makeover of the Blood God 19. 4. 1970 54
167 Beautiful Paintball Nation 19. 9. 1982 42
168 King of Dragon - The Dark Project 6. 2. 1961 63
169 Elated Elephant 2. 6. 1973 51
170 Real Rabbit 19. 6. 1949 75
171 Angry Ape 22. 9. 1950 74
172 Encouraging Eland 23. 11. 1966 58
173 Ancient Devil Stars 9. 2. 1999 25
174 Viking Sunshine Mania 21. 11. 1985 39
175 Death-Defying Boxing from Outer Space 9. 10. 1993 31
176 Stormy Sardine 25. 10. 1991 33
177 Mega Man Insect Blaster 10. 9. 1938 86
178 Odd Ocelot 8. 9. 1971 53
179 Precious Pollan 12. 5. 1974 50
180 Condemned Crab 26. 6. 1987 37
( Items: 161 - 180 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;
}