我正在尝试向DataTable添加按钮。 按照https://github.com/rweng/jquery-datatables-rails中的说明,我添加了dataTables.buttons JS。
我的application.js:
//= require jquery
//= require jquery.turbolinks
//= require jquery-ui
//= require jquery_ujs
//= require dataTables/jquery.dataTables
//= require dataTables/extras/dataTables.buttons
//= require bootstrap
//= require turbolinks
//= require_tree .
我没有在gem https://github.com/rweng/jquery-datatables-rails/tree/master/app/assets/stylesheets/dataTables/extras的资产中找到CSS。
因此我的application.css(不包含任何与按钮相关的内容):
*= require jquery-ui
*= require dataTables/src/demo_table_jui
*= require_tree .
*= require_self
*/
在我的咖啡剧本中,我(模仿https://datatables.net/extensions/buttons/examples/initialisation/export.html):
jQuery ->
$('#rating').dataTable(
bJQueryUI: true,
sPaginationType: "full_numbers",
iDisplayLength: 100,
scrollY: "1000px",
scrollCollapse: true,
dom: 'Bfrtip',
buttons: [
'copy', 'excel', 'pdf'
]
)
我猜我错过了一些愚蠢的东西,比如CSS或碰撞选项。 当我尝试将javascript_tag(https://cdn.datatables.net/buttons/1.1.2/js/dataTables.buttons.min.js)/ stylesheet_tag(https://cdn.datatables.net/buttons/1.1.2/css/buttons.dataTables.min.css)添加到视图时,但这没有帮助。
答案 0 :(得分:1)
似乎您已经创建了按钮,但仍需要在页面中显示它们。
你可以尝试这样的事情:
jQuery ->
table = $("#rating").dataTable(
bJQueryUI: true,
sPaginationType: "full_numbers",
iDisplayLength: 100,
scrollY: "1000px",
scrollCollapse: true,
dom: "Bfrtip",
buttons: [
"copy",
"excel",
"pdf"
]
)
table.buttons()
.container()
.appendTo( $(".your-div-for-button", table.table().container() ) );
也就是说,在创建之后,您可以显式地将按钮附加到主体。 让我知道。