Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    168

    JComboBox con selezionato un determinato elemento

    Ciao a tutti!
    Ho un menu a tendina contenente una serie di numeri, seleziono un numero e salvo sul database.

    Successivamente vorrei poter modificare questo numero...
    vorrei perciò far apparire di nuovo il menu a tendina con la serie di numeri, ma dovrebbe apparire con selezionato non il primo elemento della tendina, ma il numero che avevo salvato precedentemente sul database... è possibile fare questo?

    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    168
    Ps: avevo pensato di inserire nella tabella i valori presi dal DB come semplici interi....
    il problema è che quando vado a leggerli dalla jtable (modificati o no) con
    int n = tabella.getValueAt(row, col);

    mi genera errore...
    ho scoperto che non genera errore solo nel caso in cui in tutte le celle editabili premo invio.... come posso bypassare questo?

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Sarebbe interessante sapere che errore ottieni, nessuno qui ha la sfera di cristallo
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    168
    eheh hai perfettamente ragione!!!!!
    java.lang.String incompatible with java.lang.Integer

    questo è quello che ottengo...
    - se non modifico alcuna cella va tutto bene
    - se cancello una riga, ma non modifico alcuna cella va tutto bene
    - se modifico qualche cella mi genera l'errore scritto sopra
    - se aggiungo una riga senza modificare alcun valore va tutto bene

    Morale della favola: genera errore solo quando modifico qualcosa!

    I valori caricati dal DB sono numeri interi, io posso modificarli solo con altri numeri interi (non posso scrivere nient'altro)....
    perciò oltre a sistemare questa cosa vorrei pure fare un controllo su ciò che gli passo....

    Intanto questo è come leggo i valori della tabella:
    for(int col=3; col<=6; col++){
    int n = (Integer)tabella.getValueAt(row, col);
    }


  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    168
    il senso credo sia che quando non modifico nulla li considera numeri interi...
    quando modifico qualcosa sono stringhe che vanno convertite in interi.... ma come posso dire: 'se il valore è modificato fai questo'?!?!

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    168
    Nessuna novità?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    168
    Sto provando a gestire la modifica dei dati con setValue all'interno del mio tableModel ma ancora non ci sono riuscita.... stavo provando così:
    codice:
    publicvoid setValueAt(Object value, int row, int column) {	
     
    if(row != 0 && (column == 3 || column == 4 || column == 5 || column == 6)) {
     
    try {
    value = ((Integer)value).intValue();
    }
    catch(NumberFormatException d){
    JOptionPane.showMessageDialog(null, "I dati inseriti non sono validi");
    }
    } 
    ((Vector)dataVector.get(row)).set(column, value);
    fireTableCellUpdated(row, column);		
    }
    
    ma niente da fare... qualcuno può aiutarmi gentilmente?

  8. #8
    Ciao,
    prova con un Table Cell Listener
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Non leggi l'errore che hai:
    eheh hai perfettamente ragione!!!!!
    java.lang.String incompatible with java.lang.Integer

    significa che provi a scrivere una stringa dove va un intero.
    Come ti suggerisce schumy2000, un cell listener ti permette di ricevere una stringa, trasformarla in intero e procedere tranquillamente
    RTFM Read That F*** Manual!!!

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    168
    Certo che leggo l'errore, so cosa vuol dire... Infatti quello che stavo cercando di fare era convertire la stringa inserita in intero e se viene inserita una stringa non valida dare un messaggio di errore.... Ma non ci sono ancora riuscita.
    Adesso provo a fare il table cell listener!
    Grazie mille ! Vi aggiornerò!

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.