IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Rafrachissement d'un Jtable (Biding)


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 121
    Par défaut Rafrachissement d'un Jtable (Biding)
    Bonjour,
    Je code en ce moment une petite application JAVA sous NetBeans. Dans ma fenêtre j'ai:
    1. entityGardePremiereAlarme (entityManager)
    2. Query (Query)
    3. ResultTache (QueryResult)
    4. tblGarde (JTable)
    5. dtcDate (JCalendar)


    À l'ouverture de ma fenêtre toutes mes donnée sont afficher. Cependant, lorsque je modifie la date, événement appel la méthode chargerGarde()

    Cette méthode crée un List de <TacheEmploye> elle parcourt mon ResultTacheEmploye et si le champs Date de c'est dernière est valide, elle l'ajoute a ma liste temporaire. Puis la fin je vide ma ResultTache, et je lui ajouter les valeurs de ma liste temporaire. (Cette partie a l'air de tous fonctionne)

    Mon problème et qu'ensuite mon JTable reste vide, il n'affiche plus les valeurs présente dans mon ResultTache automatiquement.

    Ma question est simple xD Est-ce que quelqu'un sait comment faire pour réactualiser(rafraichir) le binding de mon JTable.

    Voici le code de ma méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
        private void chargerGarde()
        {
        /*
         * Crée une instance de DateSemaine pour obtenir la première et la dernière
         * journée de la semaine sélectionner.
         */
        DateSemaine laSemaine = new DateSemaine(dtcSemaine.getDate(),_param.getDebutSemaine());
        Date laPremiereJournee = laSemaine.getPremiereJournee().getTime();
        Date laDerniereJournee = laSemaine.getDerniereJournee().getTime();
     
        /*
         * Crée une copie de la liste de résultat & Déterminer la taille de la liste.
         * Si la liste est vide, elle recharge a la recharge a partir de la requête.
         */
        if (ResultTacheEmploye.isEmpty())
        {
            tacheEmployeQuery = entityGardePremiereAlarme.
                                createQuery("SELECT t FROM TacheEmploye t WHERE t.tache.id = 4");
            ResultTacheEmploye = tacheEmployeQuery.getResultList();
        }
        List<TacheEmploye> laListeCharge = new ArrayList<TacheEmploye>(); //ResultTacheEmploye;
        int MAX_TACHE = ResultTacheEmploye.size();
     
         /*
          * Passe la liste des taches au complet, si la tache est valide on l'ajoute
          * dans la liste temporaire.
          */
         for (int liI= 0; liI < MAX_TACHE; liI++)
         {
            TacheEmploye laTache = ResultTacheEmploye.get(liI);
            // 0 Egale              1 PlusGrand     -1 PlusPetit    
            if ((laTache.getDateHeureDebut().compareTo(laPremiereJournee) == 0)
                 || (laTache.getDateHeureDebut().compareTo(laPremiereJournee) > 0)
                 && ((laTache.getDateHeureDebut().compareTo(laDerniereJournee) == 0)
                 || (laTache.getDateHeureDebut().compareTo(laDerniereJournee) < 0)))
            {
                laListeCharge.add(laTache);
            }
         }
         // Donner les valeur a la ResultTache
         ResultTacheEmploye.clear();
         if (!laListeCharge.isEmpty())
         {
            ResultTacheEmploye.addAll(laListeCharge);
     
           bindingGroup.unbind();
           bindingGroup.bind();
         }
        }
    Merci d'avance !

  2. #2
    Membre très actif
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 121
    Par défaut
    C'est bon, j'ai fini par trouvé la solution. Si ça intéresse quelqu'un je le posterais mon petit bout de code ici ^^

  3. #3
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Citation Envoyé par mat1554 Voir le message
    C'est bon, j'ai fini par trouvé la solution. Si ça intéresse quelqu'un je le posterais mon petit bout de code ici ^^
    C'est gentil, mais je ne trouve pas le lien
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  4. #4
    Membre très actif
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 121
    Par défaut
    Enfaite, je disais juste que s'il avait des personnes intéressé que j'ajouterai le lien ^^

    Voila le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
     /*
        * @author : elmat90
        * @date : 2011-11-17
        * @desc : Permet le filtrage des données d'une JTable. En lien avec la persistance
        * et le biding des objects direct. Requiert une EntityManager,un Query, et un List.
        */
        private void filtreJTable()
        {
        /*
         * Crée une instance de DateSemaine pour obtenir la première et la dernière
         * journée de la semaine sélectionner.
         */
        DateSemaine laSemaine = new DateSemaine(dtcSemaine.getDate(),_param.getDebutSemaine());
        Date laPremiereJournee = laSemaine.getPremiereJournee().getTime();
        Date laDerniereJournee = laSemaine.getDerniereJournee().getTime();
     
        /*
         * Crée une copie de la liste de résultat & Déterminer la taille de la liste.
         * Si la liste est vide, elle recharge a la recharge a partir de la requête.
         *
         * Recopié la requête deja présente dans la Query sur la fenêtre principale.
         */
        if (ResultTempsPlein.isEmpty())
        {
            QueryTempsPlein = entityTempsPlein.
                                createQuery("SELECT t FROM TacheEmploye t WHERE t.tache.id = 8");
            ResultTempsPlein = QueryTempsPlein.getResultList();
        }
        List<TacheEmploye> laListeCharge = new ArrayList<TacheEmploye>();
        int MAX_TACHE = ResultTempsPlein.size();
     
         /*
          * Passe la liste des taches au complet, si la tache est valide on l'ajoute
          * dans la liste temporaire.
          */
         for (int liI= 0; liI < MAX_TACHE; liI++)
         {
            TacheEmploye laTache = ResultTempsPlein.get(liI);
            // 0 Egale              1 PlusGrand     -1 PlusPetit
            if (((laTache.getDateHeureDebut().compareTo(laPremiereJournee) == 0)
                 || (laTache.getDateHeureDebut().compareTo(laPremiereJournee) > 0))
                 && ((laTache.getDateHeureDebut().compareTo(laDerniereJournee) == 0)
                 || (laTache.getDateHeureDebut().compareTo(laDerniereJournee) < 0)))
            {
                laListeCharge.add(laTache);
            }
         }
     
        /*
         * On vide la liste de résultat et on lui donne la valeur de la liste valide
         */
         ResultTempsPlein.clear();
         ResultTempsPlein = laListeCharge;
     
         /*
          * On refait le BINDING de notre JTable
          * @note : Vous devez aller définir le nom de votre biding :
          *     - Bouton droite >> Bind >> Element sur le JTable
          *     - Onglet Advanced
          *     - Entrer une valeur dans NAME
          */
         bindingGroup.getBinding("TblTempsPlein").unbind();
         bindingGroup.getBinding("TblTempsPlein").setSourceObject(ResultTempsPlein);
         bindingGroup.getBinding("TblTempsPlein").bind();
         bindingGroup.getBinding("TblTempsPlein").refresh();
     
        /*
         * On réactive les Renderers de notre JTable
         */
        tblMaitreTempsPlein.getColumnModel().getColumn(0).setCellRenderer(PompierRenderer);
        tblMaitreTempsPlein.getColumnModel().getColumn(1).setCellRenderer(StatutRenderer);
        }
    Au plaisir !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de rafraîchissement d'un JTable
    Par Ludw82 dans le forum Composants
    Réponses: 1
    Dernier message: 27/04/2013, 19h16
  2. Problème de rafraîchissement d'un JTable
    Par arafat877 dans le forum Composants
    Réponses: 4
    Dernier message: 25/01/2011, 22h53
  3. Rafraîchissement du panel dans la JTable
    Par Toutfic dans le forum Composants
    Réponses: 8
    Dernier message: 04/03/2007, 23h20
  4. JBuilder7 & JTable Colonne alignement
    Par Tonton Luc dans le forum JBuilder
    Réponses: 5
    Dernier message: 06/11/2002, 18h32
  5. Réponses: 9
    Dernier message: 12/08/2002, 08h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo