Laravel-datatables: ExportOption 'column' => ': visible' tidak berfungsi

Dibuat pada 21 Des 2017  ·  15Komentar  ·  Sumber: yajra/laravel-datatables

Ringkasan masalah atau permintaan fitur


Saat mengekspor, param:

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

Tidak bekerja

itu harus mengaktifkan opsi untuk hanya mengekspor kolom yang terlihat dan tidak semua.

Detail sistem

  • Sistem operasi
    Debian wheezy
  • Versi PHP
    PHP 7.1.8
  • Versi Laravel
    Kerangka Laravel 5.5.19
  • Versi 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

Komentar yang paling membantu

Memang solusinya adalah menambahkan parameter ke fungsi _buildParams
Dan kemudian masukkan ke dalam metode 'getColumns' di sisi server.
Saya baru saja membuat PR untuk itu: https://github.com/yajra/laravel-datatables-buttons/pull/78

Semua 15 komentar

Bisakah Anda menautkan saya ke contoh datatables.net tentang cara melakukannya? Opsi ini agak baru bagi saya. Terima kasih!

Begitu, demo ini untuk dicetak pada implementasi sisi klien. Untuk sisi server, sayangnya tidak didukung.

@yajra menurut Anda fitur ini akan diterapkan di versi mendatang?

Agak aneh bahwa pencetakan di sisi server memperhitungkan visibilitas kolom, tetapi ekspor xls tidak. Apakah ada alasan untuk perilaku yang berbeda?

AFAIK, colvis juga tidak tersedia pada implementasi sisi server di sisi JS sehingga mungkin agak sulit untuk menerapkan atm.

Untuk mengekspor, Anda cukup menyetel exportable menjadi false. Berikut beberapa konfigurasi kolom yang dapat Anda gunakan:

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

Adakah solusi untuk mengatasi masalah atau fitur ini?

@yajra Saya pikir kita mungkin meneruskan variabel ke _buildParams Saya belum yakin bagaimana melakukannya, tapi saya meminta Anda bisa memberi saya petunjuk :)

Memang solusinya adalah menambahkan parameter ke fungsi _buildParams
Dan kemudian masukkan ke dalam metode 'getColumns' di sisi server.
Saya baru saja membuat PR untuk itu: https://github.com/yajra/laravel-datatables-buttons/pull/78

Nah, sekarang kita tahu cara menangkap parameter di sisi server alias backend, tetapi bagaimana cara mengirimnya dalam permintaan ajax dt yang sebenarnya? js apa yang perlu kita edit?

Tidak berfungsi dengan cetakan! @FabienLucini , hanya dengan postcsv yang terlihat. bahkan tidak pdf!

Di POC ini, saya melakukan perubahan untuk postExcel dan postCsv
Tetapi Anda dapat melakukan hal yang sama untuk pdf dan mencetak dan kemudian menyesuaikan sisi server kode Anda.
Bersulang

@FabienLucini Terima kasih banyak, Anda benar-benar berhasil. Anda menyelamatkan saya berjam-jam berpikir dan menyerbu otak.
Kadang-kadang, mungkin sepanjang waktu: D orang merasa dicampakkan, solusinya ada di depan mata Anda, dan Anda tidak bisa memahaminya. toilet

@yajra Mari terapkan perubahan ini ke cabang.

@AgusSaputra @AgusSaputra . Anda juga dapat PR bagian cetak untuk hacktobefest poin jika Anda bergabung dengan suguhan.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat