web-dev-qa-db-fra.com

Erreur de bouton datatable: Uncaught Type de bouton inconnu: impression

J'ai un problème très étrange avec le bouton d'impression sur une table de données pour laquelle je n'ai pas trouvé de solution.

Ce qui est étrange, c'est que j'ai déjà utilisé le bouton d'impression dans les tables de données sur différentes pages.

En ce moment, je travaille sur un projet Ruby on Rails, y compris les tables de données avec le joyau jquery-datatables-Rails, version 3.3.0).

De plus, j'inclus le CSS et le fichier JS pour les boutons en référençant le chemin du fichier dans le pipeline des actifs (dataTables.buttons.min et buttons.datatables.min.css).

Tous les fichiers sont chargés sans problème ni message d'erreur. L'initialisation du datatable fonctionne également, mais j'ajoute ensuite l'option ci-dessous:

dom: 'Bfrtip'
buttons: [ 'print' ]

à l'initialiseur, il provoque un crash avec le message d'erreur ci-dessous:

Type de bouton inconnu inconnu: print dataTables.buttons.min.js? Body = 1: 18

Malheureusement, je n'ai trouvé personne qui ait le même problème sur Internet.

J'ai suivi les instructions sur https://datatables.net/extensions/buttons/ , en ajoutant les deux fichiers à ma page.

De plus, lorsque j'essaie d'utiliser le bouton Excel au lieu de print , aucun message d'erreur n'apparaît, mais aucun bouton n'apparaît.

Le div.dt-buttons reste vide.

Comment puis-je résoudre ça?

9
Felix Letkemann

Vous devez inclure ce fichier:

//cdn.datatables.net/buttons/1.2.1/js/buttons.print.min.js

Pour d'autres problèmes comme Excel également, les fichiers d'actifs associés peuvent être manquants dans votre cas. Consultez la liste des fichiers JS inclus dans cet exemple pour référence.

https://datatables.net/extensions/buttons/examples/initialisation/export.html

La liste est donnée dans l'onglet Javascript de l'exemple.

13
Gaurav

Je crois que vous devez inclure extension du bouton d'impression dans votre page.

De les docs :

Ces boutons ne font pas partie de la bibliothèque principale, mais sont plutôt des fichiers individuels qui peuvent être inclus selon vos besoins. Par exemple, vous pouvez fournir des boutons d'exportation de fichiers HTML5 mais pas des boutons d'exportation Flash. Cela garantit simplement que seul le code dont vous avez besoin est fourni à l'utilisateur final.

3
born4new