Id Name Birthday Age
721 Depressed Dragonfly 6. 4. 1978 46
722 International Shock - The Card Game 17. 1. 1990 34
723 Prickly Pollan 28. 9. 1977 47
724 Amphibious Shopping Summit 21. 3. 1991 33
725 Creepy Cheetah 11. 1. 1992 32
726 The Great Katana Starring Mickey Mouse 14. 5. 1930 94
727 Arrogant Addax 3. 4. 1930 94
728 Mystic Chef Encounter 8. 4. 1986 38
729 Clumsy Caterpillar 6. 8. 1932 92
730 Madden Samurai Marines 28. 1. 1957 67
731 Stormy Sandpiper 18. 4. 1951 73
732 Sim Worm vs. Street Fighter 27. 5. 1948 76
733 Bizarre Insect Struggle 3. 4. 1978 46
734 Nutty Newt 13. 3. 1984 40
735 Confused Crab 4. 3. 1966 58
736 Bonk Bong in Middle-Earth 13. 8. 1974 50
737 Presidential Square Dancing Simulator 2. 5. 1994 30
738 Jewish Prison Desperadoes 11. 2. 1983 41
739 Black Bug 16. 11. 1973 51
740 Inexpensive Impala 11. 7. 1988 36
( Items: 721 - 740 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;
}