TableToolsのボタンを変更する方法を見つけようとしています。フラッシュボタンの代わりに、自分でカスタマイズしたリンクを使用したいのですが。それができる方法はありますか?その変更を行う方法を教えてくれ、ボタンコレクションなどの機能を引き続き使用できる優れたリソース。
2 に答える
作成者によると、TableTools エクスポート機能を取得する唯一の方法は、Flash ボタンを使用することです。
あなたが見つけた他のスレッドは、現在、いいえ、これは TableTools が提供するオプションではないと言うはずです。Flash オプションは、クライアント側でファイルを完全に保存するクロス ブラウザー/プラットフォーム機能を提供するために使用されます。このオプションは、data:// プロトコルがサポートされていない古いブラウザー (IE6、IE7 など) では使用できません。およびローカル ファイル システムの対話オプション。
この機能を TableTools に追加することは間違いなく可能ですが、残念ながらまだその機会がありません。ロードマップには載っていますが。
アラン
エクスポート ファイル サーバー側の作成に関心がある場合は、TableToolsのダウンロード (GET) プラグインを検討することをお勧めします。
はい、PDF/CSV などの既存のボタンを上書きしたり、データを取得または投稿するための URL へのリンクを持つ新しいカスタム ボタンを作成したりすることができます。ここでは、get メソッドを使用した 2 つのメソッドを示しています。
Get & Post メソッドの詳細については、次を参照してください。
訪問: Datatable tabletools GET/POST ダウンロード メソッドのオーバーライド
コードで生成された pdf が使用されるのは、いくつかの列データによってグループ化された行を持つテーブルの tabletools からの pdf 出力が重複しているためです。
最初に PDF 関数をオーバーライドし、
2番目にカスタムボタンを作成します。
1. PDF 関数をオーバーライドして、サーバー コードから pdf をフェッチします。
/*Get Method table Tools - PDF - Overriding*/
TableTools.BUTTONS.pdf = {
"sAction": "text",
"sTag": "default",
"sFieldBoundary": "",
"sFieldSeperator": "\t",
"sNewLine": "<br>",
"sToolTip": "",
"sButtonClass": "DTTT_button_text",
"sButtonClassHover": "DTTT_button_text_hover",
//"sButtonText": "PDF",
"mColumns": "all",
"bHeader": true,
"bFooter": true,
"sDiv": "",
"fnMouseover": null,
"fnMouseout": null,
"fnClick": function (nButton, oConfig) {
var oParams = this.s.dt.oApi._fnAjaxParameters(this.s.dt);
var iframe = document.createElement('iframe');
iframe.style.height = "0px";
iframe.style.width = "0px";
//iframe.src = oConfig.sUrl + "?" + $.param(oParams);
iframe.src = oConfig.sUrl;//This is the URl you give in datatable Tabletools pdf override below
document.body.appendChild(iframe);
},
"fnSelect": null,
"fnComplete": null,
"fnInit": null
};
/**/
/*Datatable initialisation*/
$(document).ready(function () {
oTable = $('#alternatecolor').dataTable({
"bJQueryUI": true,
"aLengthMenu": [
[10, 25, 50, 100, -1],
[10, 25, 50, 100, "All"]
],
"sPaginationType": "full_numbers",
"aoColumns": [
null,
null,
null,
null,
null],
"bLengthChange": false, "bPaginate": false,
"sDom": '<"H"Tfr>t<"F"ip>',
//"sDom": 'T<"clear">lfrtip',
"oTableTools": {
"aButtons": [
"csv", "xls",
{
/*PDF Override*/
"sExtends": "pdf",
"sButtonText": "PDF",
//Custom url to fetch pdf report
"sUrl": " report/PDFReportUsers/us/1"
}
]
}
})
/*Row grouping - optional*/
.rowGrouping({ bExpandableGrouping: true,
bExpandSingleGroup: false,
iExpandGroupOffset: -1
//asExpandedGroups: [name]
});
/**/
});
});
2. サーバー コードから pdf を取得するためのカスタム ボタン。
/*Get Method table Tools - Download custom button*/
TableTools.BUTTONS.download= {
"sAction": "text",
"sTag": "default",
"sFieldBoundary": "",
"sFieldSeperator": "\t",
"sNewLine": "<br>",
"sToolTip": "",
"sButtonClass": "DTTT_button_text",
"sButtonClassHover": "DTTT_button_text_hover",
//"sButtonText": "PDF",
"mColumns": "all",
"bHeader": true,
"bFooter": true,
"sDiv": "",
"fnMouseover": null,
"fnMouseout": null,
"fnClick": function (nButton, oConfig) {
var oParams = this.s.dt.oApi._fnAjaxParameters(this.s.dt);
var iframe = document.createElement('iframe');
iframe.style.height = "0px";
iframe.style.width = "0px";
//iframe.src = oConfig.sUrl + "?" + $.param(oParams);
iframe.src = oConfig.sUrl;
document.body.appendChild(iframe);
},
"fnSelect": null,
"fnComplete": null,
"fnInit": null
};
/**/
$(document).ready(function () {
oTable = $('#alternatecolor').dataTable({
"bJQueryUI": true,
"aLengthMenu": [
[10, 25, 50, 100, -1],
[10, 25, 50, 100, "All"]
],
"sPaginationType": "full_numbers",
"aoColumns": [
null,
null,
null,
null,
null],
"bLengthChange": false, "bPaginate": false,
"sDom": '<"H"Tfr>t<"F"ip>',
//"sDom": 'T<"clear">lfrtip',
"oTableTools": {
"aButtons": [
"csv", "xls"
, {
"sExtends": "download",
"sButtonText": "Download PDF",
"sUrl": "admin/user/4/downloadfile"
}
]
}
})
/*Row grouping - optional */
.rowGrouping({ bExpandableGrouping: true,
bExpandSingleGroup: false,
iExpandGroupOffset: -1
//asExpandedGroups: [name]
});
/**/
});