Gå til innhold

Gjøre det umulig å endre kol. i en DefaultTablemod


Anbefalte innlegg

Videoannonse
Annonse
Hvis jeg bruker setColumnSelectionAllowed, hvordan kan jeg da velge ønsket kolonne i ønsket rad?

5058441[/snapback]

Altså, hvordan velger jeg den kolonnen jeg vil sette setColumnSelectionAllowed(false) på?
Og hvordan gjøre alle andre rader enn den som er markert når jeg klikker på en knapp, disabled?

5058889[/snapback]

Dette er altså et nytt spørsmål, og har ingenting med det forrige å gjøre. Hvis jeg merker en rad, og klikker på en knapp, skal kun denne raden være mulig å endre. Altså sette setRowSelectionAllowed(false) på alle andre rader enn den som er merket.
Lenke til kommentar

Kan prøve dette. Burde være et greit utgangspunkt.

 

final DefaultTableModel model =
  new DefaultTableModel(data, headers)
     public boolean isCellEditable(int row, int column) {
        if(column ==  3) {
           return true;
        } else {
           return false;
        }
     }
  };

final JTable table = new JTable(model) {
...
}


Endret av codo
Lenke til kommentar
Takk for den, codo, men jeg skjønner egentlig ikke hvordan jeg kan bruke den...

5064353[/snapback]

 

Forstod deg sånn at du hadde en JTable med en DefaultTableModel... Det koden min gjør et å overloade isCellEditable i DefaultTableModel slik at denne funksjonen benyttes istedenfor den i DefaultTableModel.

 

Logikken er at isCellEditable vil returnere false hvis du forsøker å endre på dataen i kollone 4 (går fra 0 til 3 om du har 4 kolloner), ellers true. Her kan du selvfølgelig legge til andre if-else statements.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...