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

Composants Java Discussion :

Vidage JTable...


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 194
    Par défaut Vidage JTable...
    Bonjour, voici mon code concernant une JTable ; en fait, son contenu est réactualisé à chaque clic sur un bouton...
    Pour le premier clic, ça marche sans problème mais dès qu'on clic plusieurs fois, il semblerait qu'il ne supprime pas la première ligne (ou la dernière) ; où est l'erreur ?

    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
     
     if (e.getSource() == afficher) {
            //Réinitialisation des modèle pour éviter les doublons
            for (int i=0;i<modelCT.getRowCount();i++){
              modelCT.removeRow(i);
            }
    tableCT.setModel(modelCT);
    //Recherche des différents chargés de travaux et de leurs périodes d'activités
            String requete="SELECT P.nom, P.prenom, A.datedebut,A.datefin,A.numeroverification from ARCHIVESCT A, personnes P where idatt = '" +
                this.attestations.getSelectedItem() + "' AND P.login=A.CT  ORDER BY datedebut";
            //Nombre de colonnes pour savoir comment se distribuent, via un tableau, les données
            int colNb = 5;
            //Exécution de la requete
            ResultSet rs = db.getQuery(requete);
            int i=0;
     
            while (rs.next()) {
     
              //Affectation
              String nom=rs.getString("nom");
              String prenom=rs.getString("prenom");
              String debut=rs.getString("datedebut");
              String fin=rs.getString("datefin");
              String num=rs.getString("NUMEROVERIFICATION");
              //Récupération des dates
              String[] tab=debut.split(" ");
              debut = franciserDate(tab[0]);
              if (fin!=null){
                //si il y a une date de fin
                tab = fin.split(" ");
                fin = franciserDate(tab[0]);
              }
     
              else{
                //Sinon ; sans cela : risque d'erreur de variable non initialisée
                fin="";
              }
              //Tableau pour insérer les données de la ligne dans le modèle
              String[] objects = new String[colNb];
              objects[0]=nom;
              objects[1]=prenom;
              objects[2]=debut;
              objects[3]=fin;
              objects[4]=num;
              //Transfert du tableau vers le modèle
              modelCT.addRow(objects);
              i++;
            }
            System.out.println(modelCT.getRowCount());
            //System.out.println(i);
            //Modification de la table des chargés de travaux
            tableCT.setModel(modelCT);
    Je pense que je vous ai donné trop de code étant donné qu'il semblerait que cela ne concerne que la suppression d'une ligne (la première ou la dernière)

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 40
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Cadre1.jdbTable1.setDataSet(queryDataSet1);
    Cadre1.jdbTable1.repaint();
    //tablescrollpane dans je quel est la jtable
    Cadre1.tableScrollPane1.getViewport().add(Cadre1.jdbTable1, null);
    Il y a trop de code a regarder donc voici comment je fais
    Ca vaut ce que ca vaut

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 40
    Par défaut
    j'utilise un query dataset et une jdbtable, que je trouve plus pratique, apres chacun fait comme il le sent.
    Bon courage

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 194
    Par défaut
    J'ai trouvé la solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     while (modelCT.getRowCount()!=0){
              modelCT.removeRow(0);
            }
    [quote]
     
    je ne connaissais pas les autres objets conseillés..[/quote]

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

Discussions similaires

  1. [Swing]JTable- Dimensionner les colonnes
    Par loutfi dans le forum Composants
    Réponses: 12
    Dernier message: 01/07/2011, 08h50
  2. [Jtable]Vidage JTable
    Par wassimb dans le forum Composants
    Réponses: 6
    Dernier message: 12/06/2004, 12h01
  3. [SWING]jTable + Focus
    Par chady dans le forum Composants
    Réponses: 5
    Dernier message: 27/02/2003, 14h51
  4. JBuilder7 & JTable Colonne alignement
    Par Tonton Luc dans le forum JBuilder
    Réponses: 5
    Dernier message: 06/11/2002, 17h32
  5. Réponses: 9
    Dernier message: 12/08/2002, 07h38

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