Hallo,
Vermoedelijk gaat het weer om een simpel probleem, maar ik kom er zelf niet meer uit. Zit er nu al een tijdje op blind te staren. Het gaat om het volgende:
Ik heb een programma waar een JTable instaat. Als men een rij selecteert kan er daarna op een knop worden gedrukt en geef ik een recordID naar die functie toe die het hele record in DB ophaalt en een nieuwe scherm toont.
Hiervoor gebruik ik de volgende code:
Als ik nu de eerste keer een record selecteert werkt het prima. De tweede keer word RID niet bijgewerkt en blijft de oude waarde staan. Terwijl in de console wel duidelijk blijkt dat de waarde wel goed opgezocht word door de getValueAt().
Ik zie inmiddels niet meer hoe ik dit kan oplossen, dus als iemand mij op het juiste spoor kan brengen dan graag!
Alvast bedankt!
Vermoedelijk gaat het weer om een simpel probleem, maar ik kom er zelf niet meer uit. Zit er nu al een tijdje op blind te staren. Het gaat om het volgende:
Ik heb een programma waar een JTable instaat. Als men een rij selecteert kan er daarna op een knop worden gedrukt en geef ik een recordID naar die functie toe die het hele record in DB ophaalt en een nieuwe scherm toont.
Hiervoor gebruik ik de volgende code:
Code:
public int getSelectedRecordID() {
return this.tblListener.selectedRecordID;
}
Code:
public class TableListener implements ListSelectionListener {
private int selectedRecordID;
public void valueChanged(ListSelectionEvent lsEvent) {
ListSelectionModel lsm = (ListSelectionModel) lsEvent.getSource();
// Find out which indexes are selected.
int minIndex = lsm.getMinSelectionIndex();
int maxIndex = lsm.getMaxSelectionIndex();
for (int i = minIndex; i <= maxIndex; i++) {
if (lsm.isSelectedIndex(i)) {
this.selectedRecordID = Integer.parseInt(tblRecords.getValueAt(i, 0).toString());
System.out.println("Uit tabel:" + Integer.parseInt(tblRecords.getValueAt(i, 0).toString()));
System.out.println("RID in valueChanged" + this.selectedRecordID);
}
}
}
}
Als ik nu de eerste keer een record selecteert werkt het prima. De tweede keer word RID niet bijgewerkt en blijft de oude waarde staan. Terwijl in de console wel duidelijk blijkt dat de waarde wel goed opgezocht word door de getValueAt().
Ik zie inmiddels niet meer hoe ik dit kan oplossen, dus als iemand mij op het juiste spoor kan brengen dan graag!
Alvast bedankt!