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

时间:2013-02-06 13:52:21

标签: ruby ruby-on-rails-3 datatable tabletools

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

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

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

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

enter image description here

请帮忙。

2 个答案:

答案 0 :(得分:0)

更新(2016):

虽然他们为按钮选择扩展程序(source)淘汰了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) { }
});

上一个答案(2013):

解决方案是添加:

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

在你的javascript里面。它也可以很好地使用show / hide列。如果您不使用显示/隐藏列,则可以删除大写“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"
        ]
    }
});

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

答案 1 :(得分:0)

我通过添加ZeroClipboard.js

得到了这个
<script src="http://localhost/assets/js/ZeroClipboard.js"></script>