java - Jtable duplicate Rows -


when add new rows in jtable duplicate rows many times

enter image description here

this method update jtable

public final void tableaucomande(){  ((defaulttablemodel)tabcommande.getmodel()).getdatavector().clear(); session s=hibernateutil.getsessionfactory().opensession();  criteria cr1= s.createcriteria(commande.class); list <commande> lcs=cr1.list() ; criteria cr2= s.createcriteria(lignecommande.class); list <lignecommande> lck=cr2.list() ;  if(lcs.size()!=0 && lck.size()!=0) {      (commande lc:lcs)     {          for(lignecommande lig:lck){             ((defaulttablemodel)tabcommande.getmodel()).addrow(new object[]{                      lc.getid_cmd(),lc.getnumcmd(),lc.getdate_cmd(),lc.getclient().getnomprenom(),                     lig.getproduit().getlib_prd(),lig.getquantite(),lig.getproduit().getid_prd()              });          }  }      // tabcommande.setrowselectioninterval(tabcommande.getrowcount()-1,tabcommande.getrowcount()-1); } } 

this code add add data rows displayed in table

    session s=hibernateutil.getsessionfactory().opensession();     transaction tx= s.begintransaction();     applicationcontext context3 = new classpathxmlapplicationcontext("beans.xml");     commandeservice cos = (commandeservice)context3.getbean("commandeservice");     clientservice cls = (clientservice)context3.getbean("clientservice");     produitservice ps =(produitservice)context3.getbean("produitservice");     lignecommandeservice lcms =(lignecommandeservice)context3.getbean("lignecommandeservice");      commande cm = new commande();      int qunt=integer.parseint(jtextfield5.gettext());      int idp=integer.parseint(produit.getmodel().getvalueat(produit.getselectedrow(), 0).tostring());     produit pro=ps.rechproduit(idp);      string tonnom = string.valueof(jcombobox4.getselecteditem());     criteria q =s.createcriteria(client.class)             .add(restrictions.eq("nomprenom",tonnom));     list l=q.list();     iterator i2=l.iterator();     while(i2.hasnext())     {          idclients = ((client)i2.next()).getidclient();     }     client c1=cls.rechclient(idclients);     cm.setnumcmd(integer.parseint(jtextfield1.gettext()));     cm.setdate_cmd(jdatechooser2.getdate());     cm.setdelailivr_cmd(jdatechooser4.getdate());     cm.setlieulivr_cmd(jcombobox7.getselecteditem().tostring());     cm.setmodelivr(jcombobox1.getselecteditem().tostring());     cm.setetat_cmd(jcombobox2.getselecteditem().tostring());     cm.setmodepaiement(jcombobox3.getselecteditem().tostring());     cm.setmontant_cmd(jtextfield8.gettext());     cm.setprixtotallivr(jtextfield9.gettext());     //  cos.enregcommande(cm);     c1.getcommandes().add(cm);     cm.setclient(c1);     cm.setid_cmd(integer.parseint(tabcommande.getvalueat(tabcommande.getselectedrow(), 0).tostring()));      cos.modifcommande(cm);      cls.modifclient(c1);      int[] rows = produit.getselectedrows();     if(rows.length>0){         defaulttablemodel model = (defaulttablemodel) produit.getmodel(); //a3mel cast lena         for(int j=rows.length-1; j>=0; j--){             int prodid = (integer) produit.getvalueat(rows[j], 0); // 0 houwa colonne number; ma tensech cast int normalement             produit p = ps.rechproduit(prodid);             lignecommande lm1=new lignecommande(qunt,cm, p);              lcms.modiflignecommande(lm1);          }      }      joptionpane.showmessagedialog(null, "modification de commande avec succes",             "succés", joptionpane.information_message); } else      joptionpane.showmessagedialog(null, "selectionner une ligne de produit",             "information", joptionpane.warning_message);  initc(); // todo add handling code here: }   


Comments

Popular posts from this blog

java - Run a .jar on Heroku -

validation - How to pass paramaters like unix into windows batch file -