java - Jtable duplicate Rows -
when add new rows in jtable duplicate rows many times
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
Post a Comment