2016-04-08 3 views
0

私はリストを出力するためにdatatableを使用しています。私のHTMLリストには、重要ではない他の列が隠されている列はほとんどありません。 これらの列をインクルードするエクスポート機能は可能ですか?そして、他の質問は、PDFをランドスケープモードで印刷する方法です。Datatableエクスポート機能で別の列を追加することはできますか?

ここに私のコードです:

私のJSONデータ

$data['data'][] = array(
        ($con['contract_ext'] != '') ? '<a href="' . site_url('contracts/contracts/edit_contract_phase1?contract_id=' . $con['id']) . '" class="btn-link">'. $con['contract_id'] . '-' . $con['contract_ext'] . '</a>' : '<a href="' . site_url('contracts/contracts/edit_contract_phase1?contract_id=' . $con['id']) . '" class="btn-link">' . $con['contract_id'] . '</a>', 
        '<span class="txt_small">' . $client['client_name'] . '</span>', 
        $con['contract_type'], 
        format_mysql_time($con['date_added'], 'm/d/Y - H:i:s'), 
        format_mysql_time($con['date_modified'], 'm/d/Y H:i:s'), 
        $added_by['name'], 
        $con['status'], 
        '<a data-toggle="modal" href="javascript:;" data-target="#myModal" data-id="' . $con['id'] . '" id="contract-' . $con['id']. '" class="btn btn-sm btn-default contract_modal" type="button"><span class="fa fa-paperclip"></span></a> ' . 
        '<button type="button" class="btn btn-sm btn-default" onClick="addRemark(' . $con['id'] . ')"><span class="fa fa-comment-o"></span></button> ' . 
        '<button type="button" class="btn btn-sm btn-danger"><span class="fa fa-trash"></span></button>' 

       ); 

私のJS

<script type="text/javascript"> 
    $('#contract-list').DataTable({ 
    "ajax": "<?php echo site_url('contracts/contracts/load_contracts'); ?>", 

    dom: 'Bfrtip', 
    buttons: [ 
     'copy', 'csv', 'excel', 'pdf', 'print' 
    ], 
    "order": [], 
     "columnDefs": [ { 
      "targets" : 'no-sort', 
      "orderable": false, 
     }] 
    }); 
</script> 

私はあなたがデフォルトのDataTableでは、この

答えて

0

で私を助けることを願って〜するテーブル内のすべての列をxportします。今まで列を隠すために何をしているのかはサポートされていないと感じています。何をすべきかは、Datatablesでサポートされている方法では不要な列を隠すことです。この例では、私は隠された二つの列作っています:ここで

{extend: 'pdf', orientation: 'landscape'} 

それはすべてあなたのために一緒に入れている:PDFファイルの景観を作るためのよう

columnDefs: [{targets: [4, 5], visible: false}] 

を、このためのボタンに対してオプションがあります。列の非表示ロジックを削除し、代わりに 'ターゲット'オプションの列のリストを更新して、以下のcolumnDefsの可視性を更新してください:

<script type="text/javascript"> 
    $('#contract-list').DataTable({ 
     "ajax": "<?php echo site_url('contracts/contracts/load_contracts'); ?>", 

     dom: 'Bfrtip', 
     buttons: [ 
      'copy', 'csv', 'excel', {extend: 'pdf', orientation: 'landscape'}, 'print' 
     ], 
     "order": [], 
     "columnDefs": [ 
      {"targets": 'no-sort', "orderable": false}, 
      {"targets": [4, 5], visible: false} 
     ] 
    } 
</script> 
関連する問題