是否可以在Datatable导出功能中添加其他列?

时间:2016-04-08 02:46:44

标签: jquery datatables

我正在使用datatable输出我的列表。在我的HTML列表中,隐藏了另一列不重要的列。 是否可以在导出功能中包含那些列?还有一个问题是如何在横向模式下打印PDF?

这是我的代码:

我的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>

我希望你能帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

默认情况下,Datatables将导出表中的所有列。我有一种感觉,你不支持隐藏列的行为。您应该做的是使用Datatables支持的方法隐藏您不需要的列。在这个例子中,我隐藏了两列:

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

至于制作PDF格式,可以选择按钮:

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

这里全部为您准备。请记住删除列隐藏逻辑,而是更新'targets'选项中的列列表,以便查看下面的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>