Jquery DataTable TableTool 在 IE 和 Firefox 中不起作用

Posted

技术标签:

【中文标题】Jquery DataTable TableTool 在 IE 和 Firefox 中不起作用【英文标题】:Jquery DataTable TableTool not working in IE and Firefox 【发布时间】:2014-11-18 12:32:14 【问题描述】:

我在我的 MVC4 ASP.NET Web 应用程序中使用 Jquery DataTable TableTool。导出到 Excel 和 PDF 与 Chrome 配合得很好。但不适用于 IE 和 FireFox。 我的代码如下所示

 dom: 'T<"clear">lfrtip',
            tableTools: 
                "sSwfPath": "../media/swf/copy_csv_xls_pdf.swf",
                "aButtons": [ 
                           
                               "sExtends": "xls",
                               "sFileName": "Orders.csv",
                               "bFooter": false,
                               "mColumns": "visible",
                               "bHeader":false
                           

                           ]
            ,

谁帮帮我

【问题讨论】:

控制台有错误吗? 请为您所定位的表格显示您的 html 标记。请注意,它仅适用于格式良好的 html 的表格。 看到这个答案 -> ***.com/a/28694547/1407478 tablestools 依赖于浏览器 Flash 支持。确保你已经安装了这个。在 chrome 中,它的工作方式是正确设置 swf 路径。 【参考方案1】:
var oTable1 = $('#Ccctbl').dataTable(
            "bPaginate": true,
            "bDeferRender": true,
            "bProcessing": true,
            "bJQueryUI": true,
            "sDom": '<"toolbar">frtip',
            "sAjaxSource": "/Setup/LoadCostCenterCategory/",
            "iDisplayLength": 15,
            "bDestroy": true,
            "fnPreDrawCallback": function (oSettings, json) 
                var id = $(this).attr('id');
                $("#ToolTables_" + id + "_0").html("<i  class='icon-copy bigger-120 blue'></i>")
                $("#ToolTables_" + id + "_1").html("<i class='icon-file-text green bigger-120'></i>")
                $("#ToolTables_" + id + "_0").attr("title", "Copy");
                $("#ToolTables_" + id + "_1").attr("title", "Export To Excel");

            ,
            "sDom": "<'row-fluid'<'span6'T><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
            "oTableTools": 
                "sSwfPath": "//cdn.datatables.net/tabletools/2.2.2/swf/copy_csv_xls.swf",
                "aButtons": [
                  
                      'sExtends': 'copy',
                      "oSelectorOpts":  filter: 'applied', order: 'current' ,
                  ,
                  
                      'sExtends': 'xls',
                      "oSelectorOpts":  filter: 'applied', order: 'current' ,
                  

                ]
            ,
            "aoColumns": [
             "mData": "CODE", "sTitle": "Cost Center Category Code", "sWidth": "25%", "bSortable": false ,
             "mData": "DESCRIPTION", "sTitle": "Description", "sWidth": "25%", "bSortable": false ,
             "mData": "strsegcattype", "sTitle": "Segment", "sWidth": "25%", "bSortable": false ,
             "mData": "strIsActive", "sTitle": "Active", "sWidth": "25%", "bSortable": false ,
            ]
        );

【讨论】:

这段代码在所有浏览器中都能正常工作。您需要使用以下jquery、jquery.dataTables.min.js、jquery.dataTables.bootstrap.js、TableTools.min.js、dataTables.tableTools.min.js

以上是关于Jquery DataTable TableTool 在 IE 和 Firefox 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

jquery datatable如何动态分页

如何更改 JQuery.DataTable 中单元格的样式?

001_ jQuery的表格插件dataTable详解

使用 jquery 动态更新 DataTable 内容

jquery datatable怎么做到筛选

jquery.datatable插件如何不自动加载数据?