2017-12-13 7 views
1

私はPHP 7.0.25Laravel Framework 5.5.25を実行しています。Laravel Datatables - テーブルにエクスポートボタンが表示されない

私はlaravel datatables packageを使用し、button pluginをインストール/設定しました。

しかし、どのボタンが私の表に示されていないと私は、任意のコンソールエラー得ることはありません:

"require": { 
    "php": ">=7.0.0", 
    "fideloper/proxy": "~3.3", 
    "laravel/framework": "5.5.*", 
    "laravel/tinker": "~1.0", 
    "yajra/laravel-datatables": "^1.0", 
    "yajra/laravel-datatables-buttons": "^3.0", 
    "yajra/laravel-datatables-oracle": "~8.0" 
}, 

私の意見:私の作曲ファイルで

enter image description here

を私は以下のパッケージを持っています次のようになります。

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <!-- Bootstrap CSS --> 
     <link href="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet"> 
     <link rel="stylesheet" href="//cdn.datatables.net/1.10.7/css/jquery.dataTables.min.css"> 

     <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> 
     <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> 
     <!--[if lt IE 9]> 
      <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> 
      <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> 
     <![endif]--> 
     <style> 
      body { 
       padding-top: 60px; 
      } 
     </style> 
    </head> 

<body> 

    <table class="table table-bordered" id="task-table"> 
     <thead> 
      <tr> 
       <th>Id</th> 
       <th>Name</th> 
       <th>Created At</th> 
       <th>Updated At</th> 
      </tr> 
     </thead> 
    </table> 

<script> 
$(function() { 
    $('#task-table').DataTable({ 
     processing: true, 
     serverSide: true, 
     ajax: '{!! route('datatables.data') !!}', 
     buttons: [ 
      'copy', 'csv', 'excel', 'pdf', 'print' 
     ], 
     columns: [ 
      { data: 'id', name: 'id' }, 
      { data: 'name', name: 'name' }, 
      { data: 'created_at', name: 'created_at' }, 
      { data: 'updated_at', name: 'updated_at' } 
     ] 
    }); 
}); 
</script> 


<!-- jQuery --> 
     <script src="//code.jquery.com/jquery.js"></script> 
     <!-- DataTables --> 
     <script src="//cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js"></script> 
     <!-- Bootstrap JavaScript --> 
     <script src="//netdna.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script> 
     <!-- DataTables Button --> 
     <script src="//cdn.datatables.net/buttons/1.1.0/js/buttons.print.min.js"></script> 
     <script type="text/javascript" src="{{URL::asset('js/buttons.server-side.js')}}"></script> 

     <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0/jszip.min.js"></script> 
    </body> 
</html>  

マイコントロールrはhtml関数に以下を使用します:

public function html() 
{ 
    return $this->builder() 
       ->columns($this->getColumns()) 
       ->ajax('') 
       ->addAction(['width' => '80px']) 
       ->parameters([ 
        'buttons'  => ['export', 'print', 'reset', 'reload'], 
       ]); 
} 

ボタンが表示されない理由を教えてください。

非常にあなたの返信に感謝します!

+0

であるあなたは、[これらの](https://yajrabox.com/docs/laravel-datatables/master/buttons-starter)の手順を試してみましたか? –

答えて

0

ボタンをレンダリングする場所を定義する必要があります。 datatables button docuをご覧ください。 dom parameterで "B" は、ボタンの位置

->parameters([ 
     'dom'   => 'Bfrtip', 
     'buttons'  => ['export', 'print', 'reset', 'reload'], 
]); 
関連する問題