Id Name Status Action
161 Arcane Sailor Smackdown
162 Giant Wedding Trainer
163 Fine Flatworm
164 Clumsy Chicken
165 Aggressive Antelope
166 Obsessive-Compulsive Makeover of the Blood God
167 Beautiful Paintball Nation
168 King of Dragon - The Dark Project
169 Elated Elephant
170 Real Rabbit
171 Angry Ape
172 Encouraging Eland
173 Ancient Devil Stars
174 Viking Sunshine Mania
175 Death-Defying Boxing from Outer Space
176 Stormy Sardine
177 Mega Man Insect Blaster
178 Odd Ocelot
179 Precious Pollan
180 Condemned Crab
( 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]);

	$grid->addColumnNumber('id', 'Id')
		->setAlign('start')
		->setFilterText();

	$grid->addColumnText('name', 'Name')
		->setFilterText();

	$grid->addColumnStatus('status', 'Status');

	$inlineAdd = $grid->addInlineAdd();

	$inlineAdd->setPositionTop()->onControlAdd[] = function ($container): void {
		$container->addText('name', '')
			->setRequired('aaa');
		$container->addText('birth_date', '');
		$container->addText('link', '');
		$container->addSelect('status', '', [
			'active' => 'Active',
			'inactive' => 'Inactive',
			'deleted' => 'Deleted',
		]);
	};

	$inlineAdd->onSubmit[] = function ($values): void {
		$this->dibiConnection->insert(
			'users',
			[
				'name' => $values['name'],
				'status' => $values['status'],
				'countries_visited' => 1,
				'birth_date' => new DateTime(),
			]
		)->execute();
		$this->flashMessage('Record was added!', 'success');
		$this->redrawControl('flashes');
	};

	return $grid;
}