我在我的 ruby on rails 应用程序中使用 Datatable。我也跟着这里的同一个..
https://github.com/rweng/jquery-datatables-rails
我的数据表排序和搜索工作正常。但我在表头中看不到我的表格工具选项(例如 - 复制、csv、excel、pdf、保存)。
我想像这样展示我的桌子......
请帮忙。
我在我的 ruby on rails 应用程序中使用 Datatable。我也跟着这里的同一个..
https://github.com/rweng/jquery-datatables-rails
我的数据表排序和搜索工作正常。但我在表头中看不到我的表格工具选项(例如 - 复制、csv、excel、pdf、保存)。
我想像这样展示我的桌子......
请帮忙。
我通过添加 ZeroClipboard.js 得到了这个
<script src="http://localhost/assets/js/ZeroClipboard.js"></script>
尽管他们正在淘汰用于Buttons和Select扩展的 TableTools ( source ),但这是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) { }
});
解决方案是添加这个:
"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"
]
}
});
希望这会对某人有所帮助。