我在本地主机( wamp服务器)中使用http://datatables.net/extensions/tabletools/。它工作得很好,但是当我把同样的代码放到我的在线服务器上时,它就不能工作了。
我使用的是所有最新版本的datatables
tableTools: {
"sSwfPath": "https://datatables.net/release-datatables/extensions/TableTools/swf/copy_csv_xls_pdf.swf",
"sRowSelect": "os",
"sRowSelector": 'td:first-child',
// "aButtons": [ "copy", "csv", "xls","pdf","print","select_all", "select_none" ]
"aButtons": [
"copy",
"print", {
"sExtends": "collection",
"sButtonText": "Save", // button name
// "aButtons": [ "csv", "xls", "pdf" ]
"aButtons": [
"csv",
"xls", {
"sExtends": "pdf",
"sPdfOrientation": "landscape",
"sPdfMessage": "List of product."
},
"print"
]
}
]
} 首先,没有点击copy,pdf,csv,xls按钮。因此,我教我的路径或swf不工作,因此我用在线链接替换链接。因此,现在我得到了点击,但当我点击复制按钮时,它会给我一条消息...但是当我经过我的记事本时,它给了我“空白”。我的pdf,csv,xlsx也不能工作。只有印刷品才能完美地工作。请让我知道是什么问题,因为在我的本地主机一切正常。它在我的在线服务器上产生了问题。
发布于 2014-07-19 19:40:05
我非常确定datatables.net正在积极地阻止.swf的使用。Allan Jardine评论了直接使用.swf文件several times:
datatables.net不是CDN服务器,不能作为CDN服务器使用。它不是被设计成这样的,我可能会在未来为热链接添加节流,因为大量的带宽正在被使用,并造成不必要的负载。通过使用适当的CDN,甚至是本地托管的文件,您将获得更好的性能。
但是,随着1.10.x的引入,终于建立了一个真正的CDN服务器,包含了-> http://.datatables.net/tabletools/2.2.2/的所有TableTools资源
因此,将sSwfPath替换为:
发布于 2014-07-22 00:21:27
我的意思是你应该把它作为一个全新的问题发布,因为它实际上是一个新问题!:)不管怎样。问题是,在生成PDF时,您需要呈现数据。否则,您只会得到一些$(element).text()输出,包括select及其选项。如下所示:
"aButtons": [
"copy",
"csv",
"xls",
{ "sExtends": "pdf",
"fnCellRender": function ( sValue, iColumn, nTr, iDataIndex ) {
//extract the value of the select
if ( iColumn === 7 ) {
var val=$(sValue).find('select').val();
return (val!=='') ? val : 'not set';
}
//create a dummy text for the HTML-link
if ( iColumn === 8 ) {
return 'click';
}
return sValue;
}
},
"print",
"select_all",
"select_none"
]请在此处查看您的代码(尽可能接近) -> 。但是,您仍然有一个由mRender呈现引起的问题,因此列的位置是混乱的。它破坏了内部的<table>-structure。为什么要插入额外的<td>..</td>?但目前没有时间来研究这一点。
发布于 2014-07-21 16:23:00
由于我想显示正确的代码格式,因此post作为新的答案
@ DAVIDKONRAD :我知道当我从下面的代码中删除columnDefs时,我的会显示正确的记录……顺便说一句,我的csv,excel,打印显示正确的记录与columnDefs ..只有pdf没有用"columnDefs“显示正确的记录
我知道“select”这个词是因为我只在..as中使用了dropdown
dt = $('#example').DataTable( {
"dom": '<"clear">T<"clear"><"clear">lfrtip',
"pagingType": "full_numbers",
"scrollY": "440px",
"scrollX": "100%",
"scrollCollapse": true,
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "includes/db/server_processing.php",
"deferRender": true,
"aaSorting":[[0, "desc"]],
"aoColumns": [
{ className: "center", },
{ className: "center", },
{ className: "center", },
{ className: "center", },
{ className: "center", },
{ className: "center", },
{ className: "center", },
],
"columnDefs": [
{
"aTargets":[7],
"fnCreatedCell": function(nTd, sData, oData, iRow, iCol)
{
$(nTd).css('text-align', 'center');
},
"mData": null,
"mRender": function( data, type, full) {
return '<td><select id="dynamic_select_'+full[0]+'" name="dynamic_select_'+full[0]+'">\n\
<option id="0" value="">Select</option/>\n\
<option id="1_'+full[0]+'" value="test.php?id='+full[0]+'">10</option/>\n\
<option id="2_'+full[0]+'" value="test2.php?id='+full[0]+'">12</option/>\n\
<option id="3_'+full[0]+'" value="test3.php?id='+full[0]+'">13</option/>\n\
</select></td>';
//return '<button>Click!</button>';
}
},
{
"aTargets":[8],
"fnCreatedCell": function(nTd, sData, oData, iRow, iCol)
{
$(nTd).css('text-align', 'center');
},
"mData": null,
"mRender": function(data, type, full){
//return '<button>Click!</button>';
return '<div id="container"><a href="javascript: void(0);" class="click_'+full[0]+'">Click</a></div>';
}
}
]
} );https://stackoverflow.com/questions/24837595
复制相似问题