Ao exportar, o parâmetro:
'exportOptions' => [
'columns' => ':visible
],
Não funciona
deve habilitar a opção de exportar apenas as colunas visíveis e não todas.
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
Você pode me vincular ao exemplo datatables.net de como isso é feito? Esta opção é um pouco nova para mim. Obrigado!
Eu vejo, esta demonstração é para impressão na implementação do lado do cliente. Para o lado do servidor, infelizmente não é compatível.
@yajra , você acha que esse recurso será implementado em uma versão futura?
É um pouco estranho que a impressão no lado do servidor leve em consideração a visibilidade das colunas, mas a exportação xls não. Existe uma razão para o comportamento diferente?
AFAIK, colvis também não está disponível na implementação do lado do servidor no lado JS, então pode ser um pouco difícil implementar o atm.
Para exportar, você pode apenas definir exportable
como falso. Aqui estão algumas configurações de coluna que você pode usar:
'orderable' => false,
'searchable' => false,
'exportable' => false,
'printable' => true,
'visible' => true,
Alguma solução para esse problema ou recurso ainda?
@yajra Acho que podemos passar uma variável para _buildParams. Não tenho certeza de como fazer isso ainda, mas solicito que você possa me dar uma dica :)
Na verdade, uma solução alternativa é adicionar um parâmetro à função _buildParams
E, em seguida, localize-o no método 'getColumns' no lado do servidor.
Acabei de fazer um PR para isso: https://github.com/yajra/laravel-datatables-buttons/pull/78
Bem, agora sabemos como capturar o parâmetro no lado do servidor, também conhecido como back-end, mas como enviá-lo na solicitação real dt ajax? o que js precisamos editar?
Está no arquivo alterado no PR:
https://github.com/yajra/laravel-datatables-buttons/pull/78/files
Não funciona com impressão! @FabienLucini , apenas com postcsv visível. nem mesmo pdf!
Neste POC, fiz as alterações para postExcel e postCsv
Mas você pode fazer o mesmo para PDF e imprimir e, em seguida, ajustar o código do servidor.
Saúde
@FabienLucini Muito obrigado, você realmente fez o truque. Você me salvou horas de pensamento e brainstorming.
Às vezes, talvez o tempo todo: D a pessoa sente o lixo, a solução está diante de seus olhos e você não consegue descobrir. loooool
@yajra Vamos implementar essas mudanças no branch.
@FabienLucini @AmirTallap obrigado. Você também pode fazer o PR da parte impressa por hacktobefest
pontos caso você esteja participando do tratamento.
Comentários muito úteis
Na verdade, uma solução alternativa é adicionar um parâmetro à função
_buildParams
E, em seguida, localize-o no método 'getColumns' no lado do servidor.
Acabei de fazer um PR para isso: https://github.com/yajra/laravel-datatables-buttons/pull/78