11523 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
Je viens solliciter votre aide pour un problème que je n'arrive pas à résoudre.
J'utilise le plugin Jquery dataTables : http://datatables.net/
Je charge les données du tableau via Ajax avec données contenu dans un json.

$('#dataTables-transaction').dataTable({
            "order": [[ 1, "desc" ]],
            "language": {
                "lengthMenu": "Montrer _MENU_ transactions",
                "zeroRecords": "Aucune transaction ne correspond à votre recherche",
                "info": "Page _PAGE_ / _PAGES_",
                "infoEmpty": "Aucune transaction",
                "infoFiltered": "(flitrées à partir de _MAX_ transactions)",
                "processing" : "Traitement en cours...",
                "search" : "Rechercher : ",
                "loadingRecords" : "Chargement en cours...",
                "emptyTable" :"Aucune donnée disponible dans le tableau",
                paginate: {
                    first:      "Premier",
                    previous:   "Précédent",
                    next:       "Suivant",
                    last:       "Dernier"
                }
            },
            "ajax": "Clo_dataTransaction.jsp", // Génére le Json
            "columns": [
                { "data": "#" },
                { "data": "Tracker" },
                { "data": "Enseigne" },
                { "data": "Adresse" },
                { "data": "Carte" },
                { "data": "Montant" },
                { "data": "Devise" },
                { "data": "Type" },
                { "data": "Date" }
            ]
        });

Jusqu’à la pas de problème Smiley biggrin
Les choses se compliquent lorsque je souhaite mettre à jour les données du tableau suite à un click sur un bouton :

// btn-refresh-transaction : Permet de recharger en Ajax les transactions
        $('#btn-refresh-transaction').click(function(){
            // Je ne sais pas comment rafraichir les données
        });

Je ne trouve pas comment recharger les données. J'ai lu le manuel sur le site mais je ne trouve pas ce que je cherche (après je ne suis pas très fort en Anglais donc surement que ça m'a échappé).
Est ce quelqu'un peut m'aider ?
Merci beaucoup de l'attention que vous avez apporté à mon message.
Bonne journée
Salut,

As tu essayé draw() ?

$('#dataTables-transaction').draw();




a priori ça recharge le datatable.
Modifié par CPascal (17 Jul 2014 - 22:53)
Salut,
Merci beaucoup pour ta réponse et ton aide.
Oui j'ai essayé avec draw() mais aucun résultat (désolé je n'ai pas mon code car j'ai essayé avec plusieurs écritures et plusieurs méthodes trouvées sur le site du plugin => éffacé au cours des tests).

Par contre j'ai trouvé une autre solution. La voici pour ceux qui auraient le même probléme.
J'ai contourné en utilisant les cookies avec le code suivant :

$(document).ready(function() {
    $('#monTableau').dataTable( {
        "bStateSave": true // Crée un cookie qui garde votre tableau dans l'état ou vous l'avez laissé.
    } );
} );

Et au click sur mon bouton je recharge la page. Ce n'etait pas mon idée de départ mais le résultat est le même Smiley biggrin

Solution trouvée sur ce site qui explique l'utilisation du plugin et de quelques options :
http://www.kaliseo.com/2012/12/tableaux-html-datatables-et-json/


Si quelqu'un a la réponse ou une piste pour recharger les données via Ajax, par curiosité, je suis prenneur Smiley cligne