Hey Leute ich habe ein Problem.
Ich zeige euch erstmal die Methode zum Löschen:
Zeile 10-18 sind eher uninteressant für das löschen. Zur Erklärung: Wir haben eine Database in der die Daten, die in der Tabelle stehen, gespeichert sind. Zeile 10-18 sind nur dazu da, den Inhalt der Tabelle auch aus der Datenbank zu löschen.
Im Normalfall funktioniert das löschen einwandfrei. Sobald ich nun aber die Tabelle sortiere, dann löscht der aber nicht mehr den, den ich anklicke sondern ganz zufällig -.-
Weiß jemand warum****?
Ich hab es sowohl mal mit AutoCreateRowSorter versucht und einmal so, das er von Anfang an direkt selber sortiert:
Naja egal auf welche weise ich es mache, löschen tut er danach nicht mehr wie er es soll. weiß jemand warum?
Ich zeige euch erstmal die Methode zum Löschen:
Code:
private void jbtn_loeschenActionPerformed(ActionEvent evt) {
int row = jtbl1.getSelectedRow();
jtbl1.clearSelection();
if(JOptionPane.showConfirmDialog(this,
"Möchten Sie " + jtbl1.getValueAt(row,0) + " wirklich löschen?", "Schüler löschen",
JOptionPane.YES_NO_OPTION)
== JOptionPane.YES_OPTION)
{
DefaultTableModel table = (DefaultTableModel)jtbl1.getModel();
for(Student student : masterOfPuppets.database.getStudents()){
if(student.toString().equals(jtbl1.getValueAt(row,0))){
if(student.getDateOfBirthString().equals(jtbl1.getValueAt(row, 3))){
System.out.println(student.toString());
masterOfPuppets.database.removeStudent(student);
break;
}
}
}
table.removeRow(row);
}
}
Zeile 10-18 sind eher uninteressant für das löschen. Zur Erklärung: Wir haben eine Database in der die Daten, die in der Tabelle stehen, gespeichert sind. Zeile 10-18 sind nur dazu da, den Inhalt der Tabelle auch aus der Datenbank zu löschen.
Im Normalfall funktioniert das löschen einwandfrei. Sobald ich nun aber die Tabelle sortiere, dann löscht der aber nicht mehr den, den ich anklicke sondern ganz zufällig -.-
Weiß jemand warum****?
Ich hab es sowohl mal mit AutoCreateRowSorter versucht und einmal so, das er von Anfang an direkt selber sortiert:
Code:
TableRowSorter sorter = (TableRowSorter) jtbl1.getRowSorter();
sorter = new TableRowSorter<DefaultTableModel>(table);
List<RowSorter.SortKey> sortKeys = new ArrayList<RowSorter.SortKey>();
sortKeys.add(new RowSorter.SortKey(0, SortOrder.ASCENDING));
sorter.setSortKeys(sortKeys);
jtbl1 = new JTable(table);
jtbl1.setRowSorter(sorter);
Naja egal auf welche weise ich es mache, löschen tut er danach nicht mehr wie er es soll. weiß jemand warum?