klasss Posted March 28, 2022 at 08:44 PM Report Share #625662 Posted March 28, 2022 at 08:44 PM Olá a todos, Preciso de uma pequena explicação e ajuda para colocar o meu datatable a funcionar com os botões para fazer download em excel, PDF, .. <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/dt/jszip-2.5.0/dt-1.11.5/b-2.2.2/b-html5-2.2.2/datatables.min.css"/> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/pdfmake.min.js"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/vfs_fonts.js"></script> <script type="text/javascript" src="https://cdn.datatables.net/v/dt/jszip-2.5.0/dt-1.11.5/b-2.2.2/b-html5-2.2.2/datatables.min.js"></script> <script src="https://code.jquery.com/jquery-3.6.0.js"></script> <!-- CÓDIGO DE TEXTO --> <link rel="stylesheet" href="//cdn.datatables.net/1.11.5/css/jquery.dataTables.min.css"> <script src="//cdn.datatables.net/1.11.5/js/jquery.dataTables.min.js" defer></script> <script> $(document).ready( function () { $('#teste').DataTable({ "language": { "url": "////cdn.datatables.net/plug-ins/1.11.3/i18n/pt_pt.json", dom: 'Bfrtip', buttons: [ 'copy', 'csv', 'excel', 'pdf', 'print' ] } }); } ); </script> apenas no fim chamo o ultimo script . Tentei colocar aqui os botões de exportar e segui o seguinte link https://datatables.net/extensions/buttons/examples/initialisation/export.html os erros que obtenho são : datatables.min.js:143 Uncaught TypeError: l is not a function at datatables.min.js:143:244 at datatables.min.js:48:299 at datatables.min.js:48:326 Será a ordem como coloco os css e JS que não consigo ver os botões? Obrigado! Link to comment Share on other sites More sharing options...
Ivo Vicente Posted March 28, 2022 at 09:36 PM Report Share #625663 Posted March 28, 2022 at 09:36 PM Viva Esta a falhar a implementação porque não estas a carregar a bibliotecas pela ordem que é indicada na página de exemplo. Logo o primeiro erro que salta à vista é também que só incluis o JQuery no fim, e tem que ser a primeira biblioteca JS a ser incluída porque as restantes dependem dela. Coloca os JS por ordem que indica no link (e na imagem) e vai funcionar Feito é melhor que perfeito Link to comment Share on other sites More sharing options...
klasss Posted March 30, 2022 at 03:24 PM Author Report Share #625670 Posted March 30, 2022 at 03:24 PM Antes de mais obrigado pela resposta. Então o primeiro que tenho de chamar é o <script src="https://code.jquery.com/jquery-3.6.0.js"></script> já o fiz, logo depois coloquei os CSS <link rel="stylesheet" href="https://cdn.datatables.net/1.11.5/css/jquery.dataTables.min.css"> <link rel="stylesheet" href="https://cdn.datatables.net/buttons/2.2.2/css/buttons.dataTables.min.css"> Depois tenho a chamada da table no codigo <table id="teste" class="table table-bordered table-striped"> <thead> <tr> <th>Data</th> <th>Dependentes</th> <th>Titulares de rendimentos</th> <th>Situacoes especiais</th> </tr> </thead> <tbody> </tbody> </table> Chamo o JS <script type="text/javascript" src="https://cdn.datatables.net/buttons/2.2.2/js/dataTables.buttons.min.js"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script> <script type="text/javascript" src="https://cdn.datatables.net/buttons/2.2.2/js/buttons.html5.min.js"></script> <script type="text/javascript" src="https://cdn.datatables.net/buttons/2.2.2/js/buttons.print.min.js"></script> e depois tenho a chamada do script <script src="//cdn.datatables.net/1.11.5/js/jquery.dataTables.min.js" defer></script> <script> $(document).ready( function () { $('#teste').DataTable({ dom: 'Bfrtip', buttons: [ 'copy', 'csv', 'excel', 'pdf', 'print' ] } ); } ); </script> Mesmo assim nem sequer consigo ver os botões : 'copy', 'csv', 'excel', 'pdf', 'print' Alguma ideia do que continuo a fazer de errado ? Obrigado! Link to comment Share on other sites More sharing options...
Ivo Vicente Posted April 3, 2022 at 09:01 PM Report Share #625693 Posted April 3, 2022 at 09:01 PM Viva, Não estas a seguir a ordem do carregamento indicado na documentação. A jquery.dataTables.min.js deve ser carregada depois do JQuery mas antes das restantes, e pelo exemplo que escreves só a carregas no fim de todas, mesmo antes do teu bloco de inicialização. Sobre na lista de script para antes da dataTables.buttons.min.js Feito é melhor que perfeito Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now