Laravel-datatables: Las 'columnas' => ': visible' exportOption no funcionan

Creado en 21 dic. 2017  ·  15Comentarios  ·  Fuente: yajra/laravel-datatables

Resumen del problema o solicitud de función


Al exportar, el parámetro:

'exportOptions' => [
                          'columns' => ':visible
                      ],

No funcionan

debería habilitar la opción de exportar solo las columnas visibles y no todas.

Detalles del sistema

  • Sistema operativo
    Debian jadeante
  • Versión PHP
    PHP 7.1.8
  • Versión de Laravel
    Marco de Laravel 5.5.19
  • Versión de Laravel-Datatables
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
question

Comentario más útil

De hecho, una solución alternativa es agregar un parámetro a la función _buildParams
Y luego cate en el método 'getColumns' en el lado del servidor.
Acabo de hacer un PR para eso: https://github.com/yajra/laravel-datatables-buttons/pull/78

Todos 15 comentarios

¿Me pueden vincular al ejemplo de datatables.net de cómo se hace esto? Esta opción es un poco nueva para mí. ¡Gracias!

Ya veo, esta demostración es para imprimir en la implementación del lado del cliente. Para el lado del servidor, desafortunadamente no es compatible.

@yajra , ¿cree que esta función se implementará en una versión futura?

Es un poco extraño que la impresión en el lado del servidor tenga en cuenta la visibilidad de las columnas, pero la exportación xls no. ¿Hay alguna razón para el comportamiento diferente?

AFAIK, colvis tampoco está disponible en la implementación del lado del servidor en el lado de JS, por lo que podría ser un poco difícil implementar atm.

Para exportar, puede establecer exportable en falso. Aquí hay algunas configuraciones de columna que puede usar:

  'orderable'      => false,
  'searchable'     => false,
  'exportable'     => false,
  'printable'      => true,
  'visible'        => true,

¿Alguna solución a este problema o característica todavía?

@yajra Creo que podríamos pasar una variable a _buildParams. No estoy seguro de cómo hacerlo todavía, pero te pido que me des una pista :)

De hecho, una solución alternativa es agregar un parámetro a la función _buildParams
Y luego cate en el método 'getColumns' en el lado del servidor.
Acabo de hacer un PR para eso: https://github.com/yajra/laravel-datatables-buttons/pull/78

Bueno, ahora sabemos cómo capturar el parámetro en el lado del servidor, también conocido como backend, pero ¿cómo enviarlo en la solicitud dt ajax real? ¿Qué js necesitamos editar?

¡No funciona con impresión! @FabienLucini , solo con postcsv visible. ni siquiera pdf!

En este POC, hice los cambios para postExcel y postCsv
Pero puede hacer lo mismo para pdf e imprimir y luego ajustar su código en el servidor.
Salud

@FabienLucini Muchas gracias, realmente hiciste el truco. Me ahorraste horas de pensamiento y lluvia de ideas.
A veces, tal vez todo el tiempo: D uno se siente mal, la solución está frente a tus ojos y no puedes resolverla. loooool

@yajra Implementemos estos cambios en la rama.

@FabienLucini @AmirTallap gracias. También puede hacer PR en la parte impresa por hacktobefest puntos en caso de que se una a la invitación.

¿Fue útil esta página
0 / 5 - 0 calificaciones