Изменить DataTables TableTools по умолчанию имя файла экспорта PDF во время выполнения - PullRequest
5 голосов
/ 22 сентября 2011

Я использую плагин JQuery DataTables TableTools и определяю имя файла по умолчанию для PDF.Однако я использую таблицы данных с ajax, и у меня есть селектор диапазона дат, поэтому страница не обновляется, и поэтому я не могу предоставить новое имя файла по умолчанию при изменении критериев.

Кто-нибудь знает, как я могу изменитьимя файла по умолчанию во время выполнения, после того, как таблицы данных были инициализированы с помощью табличных инструментов, т.е. изменили конфигурацию напрямую?

                "oTableTools": {
                "sSwfPath": "js/DataTables/copy_cvs_xls_pdf.swf",


                "aButtons": [
                    "copy",
                    "csv",
                    "xls",
                    {
                        "sExtends": "pdf",
                        "sTitle": "Report Name",
                        "sPdfMessage": "Summary Info",
                        "sFileName": "<?php print('How do i use jquery to change this after the table has been initialized'); ?>.pdf",
                        "sPdfOrientation": "landscape"
                    },
                    "print"
                ]

            }

1 Ответ

9 голосов
/ 20 февраля 2012

Полагаю, вам нужно динамически генерируемое имя. Создайте функцию, которая возвращает (строковое) имя файла.

function getCustomFileName(){ 
    var docDate = $("#from").val();
    var filter = $("#example_filter input").val();
    var oSettings = oTable.fnSettings();
    var fileName = docDate+"_"+filter;
    return fileName;
}

И используйте функцию внутри $(document).ready, но снаружи $('#dTable').dataTable({ }).

"oTableTools": {
                "sSwfPath": "js/DataTables/copy_cvs_xls_pdf.swf",
                "aButtons": [
                    "copy",
                    "csv",
                    "xls",
                    {
                        "sExtends": "pdf",
                        "sTitle": "Report Name",
                        "sPdfMessage": "Summary Info",
                        "sPdfOrientation": "landscape"

                        "fnClick": function( nButton, oConfig, flash )
                         {
                             customName = getCustomFileName()+".pdf";
                             flash.setFileName( customName );
                             this.fnSetText( flash,
                                 "title:"+ this.fnGetTitle(oConfig) +"\n"+
                                 "message:"+ oConfig.sPdfMessage +"\n"+
                                 "colWidth:"+ this.fnCalcColRatios(oConfig) +"\n"+
                                 "orientation:"+ oConfig.sPdfOrientation +"\n"+
                                 "size:"+ oConfig.sPdfSize +"\n"+
                                 "--/TableToolsOpts--\n" +
                                 this.fnGetTableData(oConfig)
                             );
                         }                        
                    },
                    "print"
                ]

            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...