2016-04-08 69 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> 

我希望你能幫助我解決這個

回答

0

默認情況下,數據表將e將表中的所有列匯出。我有一種感覺,不管你在做什麼來隱藏列都不被支持。你應該做的是用Datatables支持的方法隱藏你不需要的列。在這個例子中我做兩列隱藏:

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

至於製作PDF文件的風景,還有這個對按鈕的選項:

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

這一切放在一起給你。請記住要刪除您的列隱藏邏輯,而是更新「目標」選項中列的列表,以便查看下列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> 
相關問題