我正在尝试复制表中选定的行,当我单击复制、csv、excel按钮时,打印整个表并复制和下载。
如何获取表中选定的行,并将其复制到剪贴板,另存为文件。
Javascript:
$(document).ready(function() {
var table = $('#example').DataTable( {
"dom": 'T<"clear"><"H"lfr>t<"F"ip>',
"tableTools": {
"sSwfPath": "/swf/copy_csv_xls_pdf.swf"
},
initComplete: function () {
var api = this.api();
api.columns().indexes().flatten().each( function ( i ) {
var column = api.column( i );
var select = $('<select><option value=""></option></select>')
.appendTo( $(column.footer()).empty() )
.on( 'change', function () {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
column
.search( val ? '^'+val+'$' : '', true, false )
.draw();
} );
column.data().unique().sort().each( function ( d, j ) {
select.append( '<option value="'+d+'">'+d+'</option>' )
} );
} );
}
} );
$('#submitFrm').click( function() {
var data = table.$('input, select').serialize();
alert(
"The following data would have been submitted to the server: nn"+
data.substr( 0, 120 )+'...'
);
return false;
} );
} );
具有复制、保存、打印、按钮以及列上的单个过滤器。但问题是,选定的行不会复制到剪贴板中,下载后csv会显示未选定行的整个数据。
如何复制,csv。。仅表中选定的行。
感谢
http://jsfiddle.net/dbecbww1/
just an example. for additional questions, you might need to
post again another question.
check if it is also working for your buttons, if not,
configure your datatableTools.tableTools.js
function "_fnGetDataTablesData", try to debug.
I've tried manipulating it before.
FYI:您可以设置只需要为文件复制哪些列。
注意:正常设置swf路径,我想您已经这样做了。fiddle的swf路径不工作,因此按钮无法工作。我一直在网上搜索有效的swf路径,但没有成功。不过,我的项目在我当地的项目中运行得非常好。