Das Problem scheint kommen aus "sSwfPath"
Wert versehen falsch, so dass die Taste Typ wird undefined
:
Ich habe in meinem Bündel Klasse versucht, alle Referenzen setzen, damit es funktioniert
"sSwfPath": "Content/DataTables/swf/copy_csv_xls_pdf.swf"
Die Schaltfläche Prüfbedingung gilt innerhalb _fnButtonDefinations
in dataTables.tableTools.js
:
if (typeof TableTools.BUTTONS[ buttonSet[i] ] == 'undefined') {
alert("TableTools: Warning - unknown button type: "+buttonSet[i]);
continue;
}
buttonDef = $.extend({}, TableTools.BUTTONS[buttonSet[i]], true);
können Sie versuchen, UrlHelper.Content
mit relativen Pfad zu SWF-Datei oder sich direkt von DataTables
CDN externe Ressource:
$("#clientes").DataTable({
dom: 'T<"clear">lfrtip',
tableTools: {
"aButtons": [
{
"sExtends": "pdf",
"sButtonText": "Generar Listado <span class='caret' />",
"aButtons": ['csv', 'xls', {
extend: 'pdfHtml5',
download: 'open'
}]
}
],
"sSwfPath": "http://cdn.datatables.net/tabletools/2.2.2/swf/copy_csv_xls_pdf.swf"
}
});
:
// local content (in Razor view)
"sSwfPath": "@Url.Content("~/Content/DataTables/swf/copy_csv_xls_pdf.swf")"
// external resource (i.e. DataTables CDN)
"sSwfPath": "http://cdn.datatables.net/tabletools/2.2.2/swf/copy_csv_xls_pdf.swf"
Sie können auch sExtends
-pdf
statt collection
zu setzen versuchen,
Beispiel: JSFiddle Demo
Das nächste Problem, das Sie beachten müssen, ist das Dateisicherheitsproblem aufgrund einiger Einschränkungen beim Laden externer SWF-Ressourcen. Öffnen Sie global security settings panel und wählen Sie "Immer erlauben" für CDN-Ressource, oder für lokal gespeicherte SWF verwenden Sie "Orte hinzufügen" (siehe Bild unten), geben SWF-Pfad zu sSwfPath
dann bestätigen, um Vertrauen für diesen Pfad anwenden (müssen möglicherweise die Sicht danach aktualisieren) .
Referenzen:
DataTables TableTools buttons not working correctly (simple example)
TableTools export in JQuery Datatables not working
jQuery dataTables - TableTools not working
jQuery TableTools not working