Lors de l'exportation, le paramètre:
'exportOptions' => [
'columns' => ':visible
],
Ne fonctionnent pas
il devrait activer l'option d'exporter uniquement les colonnes visibles et pas toutes.
yajra/laravel-datatables-buttons v3.1.0 Laravel DataTables Buttons Plugin.
yajra/laravel-datatables-html v3.2.1 Laravel DataTables HTML builder plugin for Laravel 5.4+.
yajra/laravel-datatables-oracle v8.3.2 jQuery DataTables API for Laravel 4|5
Pouvez-vous s'il vous plaît me relier à l'exemple datatables.net de comment cela est fait? Cette option est un peu nouvelle pour moi. Merci!
Je vois, cette démo est pour l'impression sur l'implémentation côté client. Pour le côté serveur, ce n'est malheureusement pas pris en charge.
@yajra pensez -vous que cette fonctionnalité sera implémentée dans une version future?
C'est un peu bizarre que l'impression côté serveur prenne en compte la visibilité des colonnes, mais pas l'export xls. Y a-t-il une raison à ce comportement différent?
AFAIK, colvis n'est pas également disponible sur l'implémentation côté serveur du côté JS, il peut donc être un peu difficile d'implémenter atm.
Pour l'exportation, vous pouvez simplement définir exportable
sur false. Voici quelques configurations de colonnes que vous pouvez utiliser:
'orderable' => false,
'searchable' => false,
'exportable' => false,
'printable' => true,
'visible' => true,
Avez-vous déjà travaillé sur ce problème ou cette fonctionnalité?
@yajra Je pense que nous pourrions passer une variable à _buildParams Je ne sais pas encore comment faire cela, mais je vous demande de me donner un indice :)
En effet, une solution de contournement consiste à ajouter un paramètre à la fonction _buildParams
Et puis insérez-le dans la méthode 'getColumns' côté serveur.
Je viens de faire un PR pour ça: https://github.com/yajra/laravel-datatables-buttons/pull/78
Eh bien, maintenant nous savons comment attraper le paramètre côté serveur, aka backend, mais comment l'envoyer dans la requête dt ajax réelle? qu'est-ce que js faut-il éditer?
C'est dans le fichier modifié dans le PR:
https://github.com/yajra/laravel-datatables-buttons/pull/78/files
Ne fonctionne pas avec l'impression! @FabienLucini , uniquement avec postcsv visible. pas même pdf!
Dans ce POC, j'ai fait les changements pour postExcel et postCsv
Mais vous pouvez faire de même pour le pdf et imprimer, puis ajuster votre code côté serveur.
Acclamations
@FabienLucini Merci beaucoup, vous avez vraiment fait l'affaire. Vous m'avez sauvé des heures de réflexion et de remue-méninges.
Parfois, peut-être tout le temps: D on se sent vide, la solution est devant vos yeux et vous ne pouvez pas la comprendre. loooool
@yajra Implémentons ces changements dans la branche.
@FabienLucini @AmirTallap merci. Vous pouvez également PR la partie imprimée pour un hacktobefest
points au cas où vous vous joindriez à la friandise.
Commentaire le plus utile
En effet, une solution de contournement consiste à ajouter un paramètre à la fonction
_buildParams
Et puis insérez-le dans la méthode 'getColumns' côté serveur.
Je viens de faire un PR pour ça: https://github.com/yajra/laravel-datatables-buttons/pull/78