插件

此扩展名现已弃用,并已被按钮选择扩展名取代。仅保留文档供旧版参考。新项目应优先于表格工具使用按钮选择

用于表格工具的插件采用新的按钮定义形式。这些按钮类型可以包含在您的 JavaScript 中,然后由表格工具使用通常的初始化方法(aButtons)来选择要使用的按钮。

如果您自己创建了任何按钮类型并且愿意分享,请与我联系并向我发送您的插件,以便我将其放在此页面上!

插件按钮

copy_to_div
显示详细信息
此按钮将表内容(以格式文本而非 HTML 复制)到具有给定 ID 的元素(使用“sDiv”参数)。
作者 Allan Jardine
代码 $.fn.dataTable.TableTools.buttons.copy_to_div = $.extend( true, {}, $.fn.dataTable.TableTools.buttonBase, { "sNewLine": ">br<", "sButtonText": "复制到元素", "target": "", "fnClick": function( button, conf ) { $(conf.target).html( this.fnGetTableData(conf) ); } } ); /* 示例用法 */ $(document).ready( function () { $('#example').dataTable( { dom': 'T<"clear">lfrtip', tableTools': { "aButtons": [ { "sExtends": "copy_to_div", "sButtonText": "复制到 div", "target": "#copy", } ] } } ); } );
下载
显示详细信息
此按钮将创建一个表单,该表单在激活按钮时提交到服务器。它可以配置为使用 GET 或 POST(使用 `sType` 选项),并且请求 URL 是 `sUrl` 选项定义的。这非常适合向服务器发出将触发下载的请求,例如使用服务器端处理创建 PDF。

如果在数据表中启用了 Ajax 数据,该插件将提交与数据表用于其自身 Ajax 请求(例如服务器端处理参数)相同的参数。提交的数据在 HTTP 变量 `json` 中可用,并且是数据的 JSON 编码表示形式。如有需要,可以指定 `fnData` 选项以向数据对象添加其他参数。

请注意,此插件需要数据表版本 1.10 或更高版本。
作者 Allan Jardine
代码 $.fn.dataTable.TableTools.buttons.download = $.extend( true, {}, $.fn.dataTable.TableTools.buttonBase, { "sButtonText": "下载", "sUrl": "", "sType": "POST", "fnData": false, "fnClick": function( button, config ) { var dt = new $.fn.dataTable.Api( this.s.dt ); var data = dt.ajax.params() || {}; // 可选静态附加参数 // data.customParameter = ...; if ( config.fnData ) { config.fnData( data ); } var iframe = $('<iframe/>', { id: "RemotingIFrame" }).css( { border: 'none', width: 0, height: 0 } ) .appendTo( 'body' ); var contentWindow = iframe[0].contentWindow; contentWindow.document.open(); contentWindow.document.close(); var form = contentWindow.document.createElement( 'form' ); form.setAttribute( 'method', config.sType ); form.setAttribute( 'action', config.sUrl ); var input = contentWindow.document.createElement( 'input' ); input.name = 'json'; input.value = JSON.stringify( data ); form.appendChild( input ); contentWindow.document.body.appendChild( form ); form.submit(); } } ); // 示例初始化 $(document).ready( function () { $('#example').dataTable( { "sDom": 'T<"clear">lfrtip', "oTableTools": { "aButtons": [ { "sExtends": "download", "sButtonText": "下载 XLS", "sUrl": "/generate_xls.php" } ] } } ); } );