• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage DataTable Addons

peternmb

Mitglied
Hallo,

nachdem ich, Dank der Hilfe hier im Forum, bereits seit einiger Zeit die DataTables nutze werde ich öfters nach Möglichkeiten zum Drucken oder Exportieren der Tabellen als PDF gefragt. Gibt es da so etwas wie Addons mit dieser Funktionalität? Meine (allerdings kurze) Suche hat da nichts verwertbares ergeben.

PS.: ich weiß, dass es natürlich für die diversen Browser da Möglichkeiten gibt - das meine ich nich sondern z.B. eine Button direkt auf der DataTables-Seite
 
DataTables hat die Funktion schon eingebaut, dass man den Inhalt drucken kann, oder in andere Formate exportieren kann.
ja, das hatte ich eigentlich gehofft bzw. bei einem so tollen Teil schon fast erwartet.

Nur, wie baue ich das in meine Seite ein?
Da ich von PHP & HTML recht wenige Ahnung habe konnte ich die erstellte Seite auch nur mit erheblicher Hilfe hier im Forum erstellen:

Idealerweise würden, beim Klicken auf "all-in-one", wenn der DataTable angezeigt wird oben Buttons für Excel, PDF und Druck sichtbar - ist so etwas überhaupt machbar?
 
Idealerweise würden, beim Klicken auf "all-in-one", wenn der DataTable angezeigt wird oben Buttons für Excel, PDF und Druck sichtbar - ist so etwas überhaupt machbar?
Das geht schon.
Du solltest aber erstmal deine Seite bearbeiten.
Du benutzt noch sehr viel Inline Styles und auch Elemente, die nicht mehr aktuell sind.
Um die zu erkennen, kannst du diese Seite nutzen
Danach kann man sich ganz grob dran orientieren.

Dann frage ich mich, warum du die Tabelle im iFrame anzeigen lässt?
Das ginge auch in einen normalen Container.
IFrames werden auch kaum noch genutzt. Wenn es möglich ist, würde ich darauf verzichten.
 
Dann frage ich mich, warum du die Tabelle im iFrame anzeigen lässt?
weil da auch über die Auswahlmöglichkeiten links oben andere (statische HTML-) Tabellen als der dataTable angezeigt werden können.

Du solltest aber erstmal deine Seite bearbeiten.
Du benutzt noch sehr viel Inline Styles und auch Elemente, die nicht mehr aktuell sind.
genau das möchte ich nicht da mir dafür einfach die Kenntnisse fehlen.
Vor allen Dingen z.B. von CSS, worauf bei dem HTML-Checker hingewiesen wird, habe ich absolut keine Ahung.

Ich bin froh, dass ich das so hinbekommen habe wie es ist und mir fehlt auch einfach die Zeit um mich da wirklich intensiv einzuarbeiten - vor allen Dingen weil ich das wirklich nicht allzuoft benötige...

ich habe versucht, die Buttons in den Code meiner Tabelle.php einzufügen, werden allerdings nicht angezeigt - wäre vermutlich auch zu einfach...
Code:
<body>
    <table id="events" class="display" style="width:100%">
    </table>
    <script>
        const cols = <?php echo json_encode($cols); ?>;
        const tabledata = <?php echo json_encode($dataarray); ?>;
        $.fn.dataTable.moment('DD.MM.YYYY');
        $('#events').DataTable({
            data: tabledata,
            columns: cols,
            pageLength: 50,
            language: {
                url: 'https://cdn.datatables.net/plug-ins/1.10.20/i18n/German.json'
            },
            columnDefs: [
                { targets: [0], className: 'dt-center' },
                { targets: [1, 2], className: 'dt-left' },                     
                { targets: '_all', className: 'dt-body-right' }
            ],
                buttons: [
                    'csvHtml5',
                    'excelHtml5',
                    'pdfHtml5',
                    'print'
                ]               
        });
    </script>
</body>
 
weil da auch über die Auswahlmöglichkeiten links oben andere (statische HTML-) Tabellen als der dataTable angezeigt werden können.
Na gut, wäre aber immer noch ohne IFrame möglich
genau das möchte ich nicht da mir dafür einfach die Kenntnisse fehlen.
Doofe Einstellung.
Ich habe mir nochmal deine letzten Beiträge angeschaut und da hatte ich das auch schon öfters geschrieben und du hast damals schon gesagt das du da nichts ändern willst.
Das werde ich jetzt akzeptieren und nur noch darauf eingehen, wenn du das möchtest.

Zurück zum Thema.
Ich schaue mal gerade, ob ich bei deiner Seite schnell durchblicke, um die Buttons einzubauen.
Falls nicht, rufen wir mal @Sempervivum, der hat dir ja bis jetzt weitestgehend geholfen und blickt da schneller durch.
Melde mich gleich
 
So , jetzt sollte das Codepen komplett laufen.
@peternmb bitte testen.

Habe alle Scripte ins HTML kopiert , dann brauchst du die da unter den Codepen Einstellung-Buttons nicht mehr herauszusuchen
 
super, vielen Dank - habe ich fast auf Anhieb hinbekommen!!!
Was optisch noch schön wäre: wenn die neuen Buttons nicht über der Anzeige der Anzahl stünden sondern daneben, vielleicht in der Mitte der gleichen Zeile - ist aber nicht wirklich wichtig...

Bei Codepen musst du immer schauen, ob zusätzlich noch Scripte eingebunden sind. Das hast du sicherlich vergessen, oder?
ja, damit kenne ich mich kaum noch aus, ist ja auch schon etwas her und ich habe wie bereits erwähnt damit seeehr wenig zu tun.
Doofe Einstellung.
Ich habe mir nochmal deine letzten Beiträge angeschaut und da hatte ich das auch schon öfters geschrieben und du hast damals schon gesagt das du da nichts ändern willst.
Das werde ich jetzt akzeptieren und nur noch darauf eingehen, wenn du das möchtest.
Ich musste mir in letzter Zeit recht viel neue Dinge (Programmierung für Android usw.) aneignen und damit tut man sich leider ab einem gewissen Alter immer schwerer.
Deshalb vielen Dank für die Hilfe, damit hätte ich selber absolut keine Chance gehabt.

Die Qualität der erzeugten Ausgaben (Excel, PDF usw.) ist absolute Spitzenklasse.

Ich kenne andere Software (z.B. Reportgenerator für Ausdrucke) da ist der Export in andere Formate einfach nur Müll und absolut unbrauchbar..
 
Brauchst du eigentlich alle Buttons?
Und die Auswahl mit der Anzahl der Einträge sollen die alle dableiben oder können welche weg?
 
Brauchst du eigentlich alle Buttons?
Und die Auswahl mit der Anzahl der Einträge sollen die alle dableiben oder können welche weg?
ich habe erst gedacht, dass z.B. der Button mit der Spaltenauswahl überflüssig wäre, habe mich aber mittlerweile eines Besseren besonnen. Das gibt dem Nutzer erherblich mehr Möglichkieten und stört nicht.
Deshalb würde ich dann doch gerne alle behalten.

PS.: was noch etwas irritiert: die Bezeichnung der Ausgaben ist immer "Einzeltabelle", wobei auch Tandem- oder Mixed- oder Mannschaftstabellen angezeigt werden können. Ich habe das erst einmal auf "Tabelle" geändert...
 
ja, ich finde das stört nicht und vielleicht braucht es jemand.
Also ohne das lässt es sich ganz leicht anpassen. Kannst ja mal gerade schauen bei Codepen, habe es mal geändert.

Mit den Einträgen Ding muss ich noch etwas in der Doko schauen, was die noch so kann.

Mein Problem ist das, dass Einträge Ding außerhalb des anderen Containers ist . Wäre er mir da drin, würde das so laufen. Man könnte es wahrscheinlich mit Float lösen. Dazu muss ich aber sagen, dass ich das nicht unbedingt will. Man nutzt Float dafür eigentlich nicht mehr. Ich schaue erstmal, ob ich eine Lösung ohne Float finde.

Ich kann ja nicht immer sagen, was bei dir auf der Webseite alles veraltet ist usw. und dir dann selbst so ein (falschen / veralteten) Code anbieten. Aber ich schaue morgen mal genauer nach.
 
Zuletzt bearbeitet:
PS.: was noch etwas irritiert: die Bezeichnung der Ausgaben ist immer "Einzeltabelle", wobei auch Tandem- oder Mixed- oder Mannschaftstabellen angezeigt werden können. Ich habe das erst einmal auf "Tabelle" geändert...
Willst du daran was ändern?
Die anderen Tabellennamen kommen doch bestimmt von der Seiten, wenn man in der Dropdown leiste andere Tabellen wählt, oder?

Deine Seite ( all-in-one ) hat ja nur eine Tabelle mit den Titelnamen Einzelltabelle.
Das ist ja bis jetzt eigentlich alles richtig , oder werden bei der ( all-in-one ) Seite auch mal andere Tabellen gezeigt?

Falls du in den anderen Tabellen auch die Buttons einbinden möchtest, musst du wohl darauf achten, was im <title> steht , da wird glaube, ich der Name weggeholt.

Warum holst du nicht alle Dateien über die tabelle.php?
Dann würden durch das Script alle Tabellen gleich aussehen und funktionieren , mit den Buttons.

Man müsste mal das PHP Script sehen, was du für die all-in-one Seite benutzt und wo und wie die anderen Tabellen erstellt werden(du schriebst mal was von ein Windows Programm, der die Dateien mit ftp hochlädt ?).

PS: Habe mir mal den Code von dieser Tabelle angeschaut S04_Tandem_Serie.html, da juckt es mir in die Finger das ändern zu wollen. Wie oft werden die Dateien der Tabellen von dein Windows Programm getauscht?

Solange da solche fehlerhaften Dateien hochgeladen werden , hat das Ändern sowieso keinen Sinn
 
Deine Seite ( all-in-one ) hat ja nur eine Tabelle mit den Titelnamen Einzelltabelle.
Das ist ja bis jetzt eigentlich alles richtig , oder werden bei der ( all-in-one ) Seite auch mal andere Tabellen gezeigt?
nein, je nach Auswahl der Disziplin werden dort auch die Tabellen z.B. für Mixed oder Tandem angezeigt.

Falls du in den anderen Tabellen auch die Buttons einbinden möchtest, musst du wohl darauf achten, was im <title> steht , da wird glaube, ich der Name weggeholt.
die Buttons werden angezeigt, klappt alles wunderbar

PS: Habe mir mal den Code von dieser Tabelle angeschaut S04_Tandem_Serie.html, da juckt es mir in die Finger das ändern zu wollen. Wie oft werden die Dateien der Tabellen von dein Windows Programm getauscht?
die HTML-Seiten mit den Tabellen werden von meinem Windows-Programm über die Druckerausgabe zeilenweise generiert (in eine Textdatei geschrieben) und dann per FTP hochgeladen - das passiert dann immer wenn der User seine Ergebnisse aktualisieren möchte. Ich weiß, dass das HTML dort grottenschlecht ist habe aber keine andere Lösung gefunden - und funktionieren tut es einwandfrei...

Auch das mit den Buttons funktioniert jetzt überall topp.
Schön wäre es, wenn die Buttons, die Auswahl der Einträgeanzahl und das Suchen in einer Zeile stehen würde. Die Buttons könnten auch bleiben wie die sind, dann sollte einfach die Auswahl für die Einträge in die Mitte der Zeile.

Solange da solche fehlerhaften Dateien hochgeladen werden , hat das Ändern sowieso keinen Sinn
das müsste ich dann im Quellcode meines Windows-Programmes ändern wo die HTML-Seiten erzeugt werden - um das überhaupt so wie jetzt hinzubekommen habe ich mit meinen beschränkten Kenntnissen seeehr lange gebraucht.....
 
Und dort lese ich, dass auch ein Export nach CSV möglich ist
Das wäre das Optimale.
@peternmb , schau da doch mal nach.
Wenn du nur CSV Dateien hast, wird der HTML-Code von den Scripten erstellt.
Dann sind die Tabellen alle so weit in korrekten HTML.

Wenn du das hast, ändere ich sogar für dich deine Startseite und die Seite,
wo jetzt die ganzen Tabellen sind.
Dann ist alles so weit wie es sein muss und du brauchst dir von mir nie mehr abhören dass der HTML-Code Mist ist.
Wäre das nicht geil?
 
Was das HTML betrifft: Ich nehme mal an, das Windows-Programm, von dem die Rede ist, ist das, was unten auf der Seite angegeben ist:
https://www.skat-turniermanager.de
ja, das ist richtig

Und dort lese ich, dass auch ein Export nach CSV möglich ist.
jein...
die CSV-Ausgaben müssen entweder von mir erstellt werden oder erfolgen über einen Reportgenerator der aus den Druckdaten CSV-Dateien erstellt was teilweise unbrauchbar ist...

Ich möchte da jetzt auch gar nicht mehr allzuviel ändern da mittlerweile alles gut funktioniert und sich die Nutzer daran gewöhnt haben wie es im Moment ist.

Das nächste Problem was dann zwangsläufig entstünde: meine Nutzer können die vom Windows-Programm erstellten HTML-Seiten wahlweise auch auf ihren eigenen Webspace statt auf sportskat.de hochladen, und dort sind natürlich keine DataTables verfügbar...
Das ist dann eigentlich auch der Hauptgrund für die von meinem Windows-Programm erstellten statischen HTML-Seiten. Die DataTables waren da gar nicht geplant, da ich so etwas überhaupt nicht gekannt habe - ich wurde darauf erst hier im Forum hingewiesen.


Ich bin eigentlich recht zufrieden wie es im Moment ist.
https://sportskat.de/983651/

Dass ich die Auswahl der Einträgeanzahl lieber in der Mitte dere einen Zeile hätte ist jetzt nicht sooo wichtig - viel wichtiger ist mir, dass alles mit Export und Ausdruck wirklich richtig gut funktioniert.
 
Zurück
Oben