1. Go to this page and download the library: Download aginev/datagrid library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
aginev / datagrid example snippets
// Grab all the users with their roles
// NB!!! At the next line you are responsible for data filtration and sorting!
$users = User::with('role')->paginate(25);
// Create Datagrid instance
// You need to pass the users and the URL query params that the package is using
$grid = new \Datagrid($users, Request::get('f', []));
// Or if you do not want to use the alias
//$grid = new \Aginev\Datagrid\Datagrid($users, Request::get('f', []));
// Then we are starting to define columns
$grid
->setColumn('first_name', 'First Name', [
// Will be sortable column
'sortable' => true,
// Will have filtered
'has_filters' => true
])
->setColumn('email', 'Email', [
'sortable' => true,
'has_filters' => true,
// Wrapper closure will accept two params
// $value is the actual cell value
// $row are the all values for this row
'wrapper' => function ($value, $row) {
return '<a href="mailto:' . $value . '">' . $value . '</a>';
}
])
->setColumn('role_id', 'Role', [
// If you want to have role_id in the URL query string but you need to show role.name as value (dot notation for the user/role relation)
'refers_to' => 'role.name',
'sortable' => true,
'has_filters' => true,
// Pass array of data to the filter. It will generate select field.
'filters' => Role::all()->lists('title', 'id'),
// Define HTML attributes for this column
'attributes' => [
'class' => 'custom-class-here',
'data-custom' => 'custom-data-attribute-value',
],
])
->setColumn('created_at', 'Created', [
'sortable' => true,
'has_filters' => true,
'wrapper' => function ($value, $row) {
// The value here is still Carbon instance, so you can format it using the Carbon methods
return $value;
}
])
->setColumn('updated_at', 'Updated', [
'sortable' => true,
'has_filters' => true
])
// Setup action column
->setActionColumn([
'wrapper' => function ($value, $row) {
return '<a href="' . action('HomeController@index', $row->id) . '" title="Edit" class="btn btn-xs"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span></a>
<a href="' . action('HomeController@index', $row->id) . '" title="Delete" data-method="DELETE" class="btn btn-xs text-danger" data-confirm="Are you sure?"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></a>';
}
]);
// Finally, pass the grid object to the view
return view('grid', ['grid' => $grid]);
sh
php artisan vendor:publish --provider="Aginev\Datagrid\DatagridServiceProvider" --tag="views"
sh
php artisan vendor:publish --provider="Aginev\Datagrid\DatagridServiceProvider" --tag="config"
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.