我目前正在使用数据表维护某些项目:
使用导出后,导出在页面上成功显示的对话框时出现以下问题,我发现了一个问题:
this._dataTable = this.$mainTable.DataTable({
ajax: {
url: this.url,
dataSrc: ''
},
dom: 'Bfrtip',
fixedColumns: {
leftColumns: 3,
rightColumns: 1
},
orderable: false,
rowId: 'fsId',
scrollX: true,
scrollCollapse: true,
columns: [{
className: 'input-cell',
data: 'stadate',
render(data) {
const time = data ? moment(data).format('HH:mm DD-MM-YYYY') : '';
return time;
},
width: '100px'
},
{
className: 'input-cell',
data: 'slotTime',
render(data) {
const time = data ? moment(data).format('HH:mm') : '';
return `<input name="slotTime" class="form-control" data-time value="${time}" size="5" readonly>`;
},
width: '72px'
},
],
buttons: [{
extend: 'print',
customize: function(win) {
$(win.document.body).find('table')
.addClass('compact')
.css('font-size', 'inherit');
}
}]
});
字段“ stadate”上的
数据可以成功地显示在网页和导出页面上,但是数据“ slotTime”成功显示在网页上。
赞赏有解决方案。.
答案 0 :(得分:0)
最后,我可以在这里Datatables - Export values inside and outside the field input and value of the select field和这里的最终代码中找到解决方案:
this._dataTable = this.$mainTable.DataTable({
ajax:{ 网址:this.url, dataSrc:'' }, dom:“ Bfrtip”, fixedColumns:{ leftColumns:3, rightColumns:1 }, 可订购:假, rowId:'fsId', scrollX:是的, scrollCollapse:是, 列: [{ className:'输入单元', 数据:“ stadate”, 渲染(数据){ const time =数据? moment(data).format('HH:mm DD-MM-YYYY'):'';
return time;
},
width: '100px'
},
{
className: 'input-cell',
data: 'slotTime',
render: function (data, type, row) {
const time = data ? moment(data).format('HH:mm') : '';
return type === 'export' ? time : `<input name="slotTime" class="form-control" data-time value="${time}" size="5" readonly>`;
},
width: '72px'
},
], 纽扣: [{ 扩展:'打印', exportOptions:{ 正交:“导出”, }
}] });
全部