datatable-button, ๋ชจ๋ js ๋ฐ ๋ชจ๋ CSS๋ฅผ ์ค์นํ์ง๋ง ์ฌ์ ํ pdf๋ฅผ ๋ค์ด๋ก๋ํ์ง ์๋ json ํ์์ ์ป์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ ํ์ ๋ ์ ์์ง๋ง ๋ฐ์ดํฐ๋ฅผ ๋ค์ด๋ก๋ ํ ์ ์์ต๋๋ค.
์ฌ๊ธฐ ๋ด ์ปจํธ๋กค๋ฌ์ ๋๋ค
return DataTables::of(Permission::query())
->addIndexColumn()
->addColumn('actions', function ($users) {
return ActionHelper::showUpdateDeleteButton('superadmin.permissions', $users->id);
})
->rawColumns(['actions'])
->make(true);
์ฌ๊ธฐ js์ ๋๋ค
$('#dataTable').DataTable({
processing: true,
serverSide: true,
ajax: '{!! route('superadmin.permissions.datatable') !!}',
columns: [
{ data: 'DT_RowIndex', name: 'DT_RowIndex' , orderable: false, searchable: false},
{ data: 'id', name: 'id' },
{ data: 'name', name: 'name' },
{ data: 'created_at', name: 'created_at' },
{ data: 'updated_at', name: 'updated_at' },
{ data: 'actions', name: 'actions' }
],
dom: 'lBfrtip',
buttons : [
{extend: 'colvis', postfixButtons: [ 'colvisRestore' ] },
{extend:'csv'},
{extend: 'pdf', title:'File PDF Datatables'},
{extend: 'excel', title: 'File Excel Datatables'},
{extend:'print',title: 'Print Datatables'},
]
});
์๋ฒ ์ธก ๋ฒํผ์ ์ฌ์ฉํ๋ ค๋ฉด DataTable์ ์๋น์ค ํด๋์ค๋ฅผ ์ฌ์ฉํด์ผํฉ๋๋ค.
๋น ๋ฅธ ์์, ์๋ ๋ช ๋ น์ ์ฌ์ฉํ์ญ์์ค.
php artisan datatables:make Permission
์ฐธ์กฐ๋ https://yajrabox.com/docs/laravel-datatables/master/buttons-starter ๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
๊ฐ์ฌํฉ๋๋ค. ๋ฐ์ดํฐ ํ ์ด๋ธ์ ์๋น์ค ํด๋์ค๋ฅผ ์ฌ์ฉํ๋๋ก ๋ฐ์ดํฐ ํ ์ด๋ธ์ ๋ณํํ์ต๋๋ค ๐๐ป
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ฒ ์ธก ๋ฒํผ์ ์ฌ์ฉํ๋ ค๋ฉด DataTable์ ์๋น์ค ํด๋์ค๋ฅผ ์ฌ์ฉํด์ผํฉ๋๋ค.
๋น ๋ฅธ ์์, ์๋ ๋ช ๋ น์ ์ฌ์ฉํ์ญ์์ค.
์ฐธ์กฐ๋ https://yajrabox.com/docs/laravel-datatables/master/buttons-starter ๋ฅผ ์ฐธ์กฐํ์ญ์์ค.