عند التصدير ، فإن المعلمة:
'exportOptions' => [
'columns' => ':visible
],
لا تعمل
يجب أن يتيح خيار تصدير الأعمدة المرئية فقط وليس كلها.
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
هل يمكنك ربطني بمثال datatables.net حول كيفية القيام بذلك؟ هذا الخيار جديد قليلاً بالنسبة لي. شكرا!
أرى أن هذا العرض التوضيحي مخصص للطباعة على التنفيذ من جانب العميل. بالنسبة إلى جانب الخادم ، للأسف لا يتم دعمه.
yajra هل تعتقد أنه سيتم تنفيذ هذه الميزة في إصدار مستقبلي؟
من الغريب بعض الشيء أن تأخذ الطباعة على جانب الخادم في الاعتبار رؤية الأعمدة ، لكن تصدير xls لا يفعل ذلك. هل هناك سبب لاختلاف السلوك؟
AFAIK ، لا يتوفر colvis أيضًا في التنفيذ من جانب الخادم من جانب JS ، لذلك قد يكون من الصعب بعض الشيء تنفيذ أجهزة الصراف الآلي.
للتصدير ، يمكنك فقط تعيين exportable
على false. فيما يلي بعض تكوين العمود الذي يمكنك استخدامه:
'orderable' => false,
'searchable' => false,
'exportable' => false,
'printable' => true,
'visible' => true,
أي عمل حول هذه القضية أو الميزة حتى الآن؟
yajra أعتقد أننا قد نمرر متغيرًا إلى _buildParams لست متأكدًا من كيفية القيام بذلك حتى الآن ، لكني أطلب منك أن تعطيني تلميحًا :)
في الواقع ، الحل هو إضافة معلمة إلى الوظيفة _buildParams
ثم قم بقياسها في طريقة "getColumns" على جانب الخادم.
لقد قمت للتو بعمل علاقات عامة لذلك: https://github.com/yajra/laravel-datatables-buttons/pull/78
حسنًا ، نحن الآن نعرف كيفية التقاط المعلمة على جانب الخادم ، ويعرف أيضًا باسم الخلفية ، ولكن كيف يتم إرسالها في طلب dt ajax الفعلي؟ ما js نحتاج إلى تعديل؟
إنه في الملف الذي تم تغييره في PR:
https://github.com/yajra/laravel-datatables-buttons/pull/78/files
لا يعمل مع الطباعة! FabienLucini ، فقط مع ملف postcsv مرئي. ولا حتى pdf!
في هذا POC ، قمت بإجراء التغييرات على postExcel و postCsv
ولكن يمكنك أن تفعل الشيء نفسه بالنسبة لقوات الدفاع الشعبي والطباعة ثم ضبط الكود الخاص بك بجانب الخادم.
هتافات
FabienLucini شكرًا جزيلاً لك ، لقد فعلت الحيلة حقًا. لقد وفرت لي ساعات من التفكير والعصف الذهني.
في بعض الأحيان ، ربما طوال الوقت: يشعر المرء بالتفريغ ، والحل أمام عينيك ، ولا يمكنك اكتشافه. loooool
yajra دعونا ننفذ هذه التغييرات على الفرع.
تضمين التغريدة يمكنك أيضًا طباعة جزء الطباعة مقابل hacktobefest
نقطة في حالة انضمامك إلى العلاج.
التعليق الأكثر فائدة
في الواقع ، الحل هو إضافة معلمة إلى الوظيفة
_buildParams
ثم قم بقياسها في طريقة "getColumns" على جانب الخادم.
لقد قمت للتو بعمل علاقات عامة لذلك: https://github.com/yajra/laravel-datatables-buttons/pull/78