如何在rails上的ruby中显示Datatable tabletools(copy,csv,excel,pdf,save)

Mar*_*042 7 ruby datatable ruby-on-rails-3 tabletools

我在ruby on rails应用程序中使用Datatable.我跟着这里的同一个..

https://github.com/rweng/jquery-datatables-rails

我的数据表排序和搜索工作正常.但我无法在我的表头中看到我的表工具选项(例如 - copy,csv,excel,pdf,save).

我想像这样展示我的桌子....

在此输入图像描述

请帮忙.

Tom*_*now 0

更新(2016):

尽管他们正在淘汰用于按钮选择扩展的TableTools (源代码),但这是dom选项示例的稍微更新的版本:

var oTable = $('#my-table').dataTable({
    autoWidth: false,
    autoHeight: false,
    paging: false,
    dom: 'TCfrtip', // <-- Update letters for whichever extensions you want to use
    responsive: false,
    searching: true,
    ordering: true,
    stateSave: true,
    scrollY: 550,
    scrollX: true,
    scrollCollapse: true,
    fixedHeader: false,
    buttons: [
        'copyHtml5',
        'csvHtml5',
        'excelHtml5',
        'pdfHtml5'
    ],
    columnDefs: [{
        targets: 'no-sort', // disable sorting on class="no-sort"
        orderable: false
    }],
    drawCallback: function (settings) { }
});
Run Code Online (Sandbox Code Playgroud)

以前的答案(2013):

解决方案是添加以下内容:

"sDom": '<"H"TCfr>t<"F"ip>'

在你的 JavaScript 里面。它也可以很好地与显示/隐藏列配合使用。如果您不使用显示/隐藏列,您可以删除大写“C”。

示例(显示/隐藏列):

// Users
$("#users-datatable").dataTable({
    "bStateSave": true,
    "bJQueryUI": true,
    "sPaginationType": "full_numbers",
    "bProcessing": true,
    "bServerSide": true,
    "sAjaxSource": $('#users-datatable').data('source'),
    "bScrollInfinite": true,
    "bScrollCollapse": true,
    "iDisplayLength": 100,
    "sScrollY": "500px",
    "sScrollX": "100%",
    "sDom": '<"H"TCfr>t<"F"ip>',
    "oTableTools": {
        "aButtons": [
            "copy",
            "csv",
            "xls",
            {
                "sExtends": "pdf",
                "sPdfOrientation": "landscape",
                "sPdfMessage": "Your custom message would go here."
            },
            "print"
        ]
    }
});
Run Code Online (Sandbox Code Playgroud)

希望这会对某人有所帮助。