Datatables - Export - filename (Buttons v3.2.1)

k3nguruh

Erfahrenes Mitglied
Hallo,

ich habe mal wieder ein Problem mit Datatables. Ich möchte gerne bei einem Export (csvHtml5, excelHtml5, pdfHtml5) das der Dateiname dynamisch erzeugt wird. Leider habe ich keinen Plan, wie man an die <table> kommt. Die Tabelle hat eine Attribut [data-title], wenn das angegeben ist, soll daraus der Dateiname erstellt werden + ein Datum.

Das alles soll in $.extend(true, $.fn.dataTable.defaults, {}); stattfinden, damit man es nicht immer angeben muss.

Javascript:
buttons: {
  buttons: [
    {
      extend: "csvHtml5",
      text: "CSV - Datei",
      bom: true,
      exportOptions: {
        columns: ":visible:not(.dt-no-export)",
        orthogonal: "export",
      },

      // HIER GEHT ES LOS
      filename: function () {
        // Zugriff auf die aktuelle Tabelle
        const table = "????"; // <= HIER FEHLT ETWAS

        // data-title auslesen und aktuelles Datum und Zeit erstellen
        const title = $(table).data("title") || "Export";
        const formattedDateTime = moment().format("YYYY-MM-DD_HH-mm-ss");

        return `${title}_${formattedDateTime}`;
      },
    },
  ]
}

Vll. kann mir ja jemand helfen.
 
Zuletzt bearbeitet:
Hallo,

jepp, scheinbar falsch verstanden.

Es soll in den Standard Einstellungen $.extend(true, $.fn.dataTable.defaults, {}); eingetragen werden. Der Name der Tabelle ist also nicht bekannt. Er muss irgendwie aus DataTables ausgelesen werden. DataTables weiss ja welche Instance auf welche Tabelle angewandt wurde.
 
Zurück