Mise à jour d'une JTable (Problème d'affichag

ouchemhou Messages postés 6 Statut Membre -  
 ouchemhou -
Bonjour tout le monde

Alors voilà mon problème :

Je possède une JTable pour afficher des données d'une base de données 

ces données depend d'une date entrée par l'utilisateur 

ça marche bien lors de la prmière utilisation ,et s'il change la date ma JTable

n'est pas mis à jour et je sais pas comment la metrre à jour,

j'ai utilisé repaint et revalidate ,mais ça change rien,

sachant que si j'ai fait un getValeurAt(1,1) je trouve la valeur que je veut 

un peu de code ::

remplissage de la table :

public class TableRapport {
	
   Connection conn;
   String date;
	  
  double PJ=0,PC=0;
  double LJ=0,LC=0;  
  ArrayList t1=new ArrayList();
  ArrayList t2=new ArrayList();
  ArrayList t3=new ArrayList();
  ArrayList t4=new ArrayList();
  ArrayList t5=new ArrayList();
 
	  
	  DefaultTableModel model;
	  JScrollPane scroll=new JScrollPane();
	  table tableau =null;
   
	  DefaultTableCellRenderer forme;
	  
	  FormeColonne produitForme,PForme,PCForme,LForme,LCForme;

	  	  
	public TableRapport(Connection conn,String date,String req){
 
        this.conn=conn;
		this.date=date;   
		
	        Requete resultat = new Requete(conn,req,1); 
	        	      	     	   
         try {     
        	 
	    	  /*  t1.clear();
	    	    t2.clear();
	    	    t3.clear();
	    	    t4.clear();
	    	    t5.clear();*/
        	 
	    		System.out.println(t2);
 
	         while(resultat.resultat.next())
	 		
	         {				  	
	        	 String RefProduit=resultat.resultat.getString(1);
			     t1.add(RefProduit);			     
			     ChercheTable(RefProduit);
	             t2.add(PJ);
	             t3.add(PC);
	             t4.add(LJ);
	             t5.add(LC);  
	               
	 			PJ=0;
	 			LJ=0;  
	     		PC=0;
	 			LC=0;  
	         }
	          
	         
	        }catch(SQLException e) { 
		    	  e.printStackTrace(); 
	    	 }		                  
                model=new DefaultTableModel(){
              	  
        	      public boolean isCellEditable(int row, int col){ 
        		  if (col==0) {return false;} 
        		   else {return true; }
        		  
        	     }
            };  
           
          System.out.println(t2);
          model.addColumn("        Réference du produit  ",t1.toArray());
          model.addColumn(" Production du jour ",t2.toArray());        
          model.addColumn(" Production Cumulée ",t3.toArray());
          model.addColumn(" Livraison du jour ",t4.toArray());
          model.addColumn(" Livraison Cumulée ",t5.toArray());                  
          
	        tableau = new table(model);  
	        
produitForme=new FormeColonne(tableau.tablee,"        Réference du produit  ",Color.DARK_GRAY,Color.yellow,JLabel.LEFT); 
 PForme=new FormeColonne(tableau.tablee," Production du jour ",Color.white,Color.black,JLabel.CENTER); PCForme=new  FormeColonne(tableau.tablee," Production Cumulée ",new Color(0,74,14),Color.white,JLabel.CENTER);
  LForme=new  FormeColonne(tableau.tablee," Livraison du jour ",Color.white,Color.black,JLabel.CENTER); 
 LCForme=new  FormeColonne(tableau.tablee," Livraison Cumulée ",new Color(0,74,14),Color.white,JLabel.CENTER); 
		   
scroll.setViewportView(tableau.tablee);
			
	}
	
  public void ChercheTable(String RefProduit){	 
 
 String req="SELECT Production_J,PC,Livraison_J,LC FROM omag_valeur WHERE Date ='"+date+
"' AND RefProduit ='"+RefProduit+"'"; 
      Requete resultat = new Requete(conn,req,1); 
           
      try{  
             	  
    	  while(resultat.resultat.next()){  
    		   
    		PJ=resultat.resultat.getDouble(1);  
    		PC=resultat.resultat.getDouble(2);  
    		LJ=resultat.resultat.getDouble(3);  
    		LC=resultat.resultat.getDouble(4);    		   
    	  }   	  
      }catch(SQLException e){
       	 e.printStackTrace();
    	 }
	  
   }
	
} 
 

propriétes de la table :

public class table{
 	
	    
	JTable tablee=new JTable();
	
	
  public table(DefaultTableModel model) {
		 
	  
	        tablee.setModel(model); 
	        tablee.setCellSelectionEnabled(true);
	        tablee.setAutoCreateRowSorter(true);
	        tablee.setAutoResizeMode(0);
	        tablee.setColumnSelectionInterval(1, 1);
	        tablee.setRowSelectionInterval(0, 0);
	      
	        tablee.setRowHeight(20);
	        
	        // definir un curseur sur la table
	        
	        Image img=Toolkit.getDefaultToolkit().getImage("images\\curseurs\\plus.gif");
	        Point p=new Point(15,15);
	        Cursor curs=Toolkit.getDefaultToolkit().createCustomCursor(img,p, "x");
	        tablee.setCursor(curs);
     	       	        
     }		
 }


appel :

 TableRapport Trapport;	  
        JPanel rapport=new JPanel();
         rapport.setLayout(null); 	  
        Trapport = new TableRapport(conn,d.datereponse,ReqJournalier);
        // avec conn=connection et d.datereponse=la date entrée et ReqJournalier=requete
	    Trapport.scroll.setBounds(20,10,790,350);
        rapport.add(Trapport.scroll);
        Trapport.tableau.tablee.revalidate();

mais n'est pas affiché !!

merci d'avance
A voir également:

3 réponses

ouchemhou Messages postés 6 Statut Membre
 
c'est compliqué mais une idée
0
javacha4
 
Bonjour et bonne chance

que veux tu dire par

try{

while(resultat.resultat.next()){

PJ=resultat.resultat.getDouble(1);
PC=resultat.resultat.getDouble(2);
LJ=resultat.resultat.getDouble(3);
LC=resultat.resultat.getDouble(4);
}
}catch(SQLException e){
e.printStackTrace();
}
0
javacha4
 
ça pourrait etre un prblm
0
ouchemhou
 
Bonsoir javacha4

merci pour votre réponse

en fait moi j'ai résolu le problème et j'ai même oublié cela
0