Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    561

    Come faccio a svuotare una JTable?

    salve, nel metodo jbInit() di una jDialog carico una jTable con dei valori che carico dal db.
    Poi successivamente premendo un jButton devo svuotare la JTable.....ho provato a mattere table=null ma i valori rimangono....come posso fare?


    tulipan

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Come faccio a svuotare una JTable?

    Originariamente inviato da tulipan
    salve, nel metodo jbInit() di una jDialog carico una jTable con dei valori che carico dal db.
    Poi successivamente premendo un jButton devo svuotare la JTable.....ho provato a mattere table=null ma i valori rimangono....come posso fare?
    Se stai usando un tuo table-model, allora è il tuo table-model che deve "ridursi" come numero di righe.

    Metti nella classe del tuo table-model un metodo es. removeAll() che azzera il numero di righe e questo vuol dire che poi getRowCount() deve essere coerente con questo, cioè ritornare 0. Poi invoca fireTableRowsDeleted() indicando il range delle righe eliminate.
    Il JTable verrà poi notificato in automatico.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    561

    Ho fatto la modifica che dici ma non va

    ecco il codice


    private void getTable(){
    try{
    DbBean db=new DbBean();

    db.connect();
    ResultSet resultSet=db.execSQL("Select Nome,Località From Condominio");


    displayResultSet(resultSet);

    }catch(ClassNotFoundException c){
    c.printStackTrace();
    }
    catch(SQLException sqlex){
    sqlex.printStackTrace();
    }
    }

    private void displayResultSet(ResultSet rs) throws SQLException{
    boolean moreRecords=rs.next();

    if(!moreRecords){
    //JOptionPane.showMessageDialog(this,"Non c'è nessun record");
    //setTitle("Nessun record da visualizzare");
    * table.removeAll();* MODIFICA EFFETTUATA
    this.validate();
    return;
    }
    Vector columnHeads = new Vector();
    Vector rows = new Vector();

    try{
    ResultSetMetaData rsmd = rs.getMetaData();
    System.out.println("n.colonne= "+rsmd.getColumnCount());

    for(int i=1;i<=rsmd.getColumnCount();++i)
    columnHeads.addElement(rsmd.getColumnName(i));

    do{
    rows.addElement(getNextRow(rs,rsmd));
    }while(rs.next());

    table=new JTable(rows,columnHeads);
    JScrollPane scroller=new JScrollPane(table);
    scroller.setBounds(new Rectangle(10, 95, 375, 120));
    this.getContentPane().add(scroller,BorderLayout.CE NTER);
    this.getContentPane().validate();
    }catch(SQLException sqlex){
    sqlex.printStackTrace();
    }
    }


    I record rimangono sempre ..forse va fatto un refresh?...io provo a fare un this.validatema non va

    tulipan

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.