|
|
|
|
Strumenti |
06-12-2009, 21:07 | #1 |
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
[JAVA] Problema nell'uso dei Filtri con le JTable
Salve a tutti
sto usando dei filtri con delle JTable (TableRowSorter, RegexFilter, ecc..) ed ho un problema che non so come risolvere. I dati provengono da un database, ed una volta pronti per essere messi in una JTable, quello che ottengo è appunto una JTable con la prima colonna di booleani (= checkbox) e il resto delle righe/colonne sono appunto tutti i record della tabella. Il programma funziona così: l'utente seleziona le righe che vuole tramite le checkbox e poi da l'OK. Con questo sistema, si memorizza che l'utente ha scelto ad esempio la 1a, la 10a e la 12a riga. Fin qui tutto ok. Il problema: Per facilitare la scelta, ho aggiunto un filtro per colonna, così vengono visualizzate solo le righe relative ad un certo valore di un certo attributo. Ho notato che usando il filtro, e cambiando parametro di filtraggio ogni volta, le checkbox che io seleziono restano in memoria nella JTable. Il problema è che quando poi vado a prelevare i dati dalla JTable, alla pressione del tasto OK, viene considerata la JTable filtrata e non quella originale. Come si può ovviare a questo problema? Esempio di anomalia: Oggetti di tipo A e di tipo B. Applico il filtro per gli oggetti di tipo A e seleziono qualche riga. Se successivamente applico il filtro di tipo B, ovviamente spariscono quelli di tipo A, e quando vado a premere OK, non riesco a catturare i valori di tipo A che avevo selezionato. Mi servirebbe uno stato della jTable che prescinda dal fatto che ho applicato un filtro e che mi dia le tuple selezionate. Per ora, ho risolto "annullando" il filtro come prima azione nell'actionPerformed del tasto OK, il che mi sembra anche una soluzione accettabile, però, magari c'è una soluzione migliore. Ultima modifica di fbcyborg : 06-12-2009 alle 21:14. |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:50.