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
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. ouchemhou Messages postés 6 Statut Membre
     
    c'est compliqué mais une idée
    0
  2. 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
    1. javacha4
       
      ça pourrait etre un prblm
      0
  3. 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