我正在使用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>
我希望你能帮我解决这个问题
答案 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>