DataTables导出PDF,未编辑从数据库导出原始数据

时间:2019-03-25 10:40:42

标签: datatables

我的表中有一列称为“ Info”,其中我有一段代码来渲染该列,如果字符串长于20个字符,它将缩短它,并在字符串末尾添加“ ...”。这是一个示例:

{
    targets: 4,
    "data": "info",
    "render": function(data, type, row, meta) {
        if(type === 'export') {
            return data;
        }
        if (data != null) {
            return type === 'display' && data.length > 20 ?
                '<p data-toggle="tooltip" title="' + data + '">' + data.substr(0, 20) + '...</p>' : data;
        } else {
            return data;
        }
    }
 },

这里的问题是当我生成PDF时,该列中的数据用'...'缩短了,是否有完整的数据(完整的字符串)在pdf,excel等中,而在表(列)中却缩短了。我总是可以再增加一列,使其不可见,然后将该列放入pdf中。还有其他办法吗?

1 个答案:

答案 0 :(得分:1)

在您的render函数中,您正在正确查看type是否为export

if(type === 'export') {
    return data;
}

但是,即使对于PDF或excel,默认也不是export类型。您需要将变量orthogonal添加到导出按钮声明对象。然后将其作为render传递给type函数

buttons: [
  {
    extend: 'excel',
    exportOptions: { orthogonal: 'export' }
  },
  {
    extend: 'pdf',
    exportOptions: { orthogonal: 'export' }
  }
]

此处有关正交的更多信息: https://datatables.net/extensions/buttons/examples/html5/outputFormat-orthogonal.html