femeril1805
Messages postés29Date d'inscriptionjeudi 19 novembre 2009StatutMembreDernière intervention20 janvier 2011
-
2 déc. 2009 à 11:45
Salut
J'ai réalisé une application CRUD ,tout fonctionne sauf la suprression en effet si je selectionne plusieurs lignes que je fais un clic droit delete cela fonctionne, si je selectionne une ligne à l'indice 4 par exemple c'est la ligne à l'indice 2 qui est supprimé
Je voudrais pouvoir effacé la ligne que j'ai selectionné n'importe où sur mon tableau...
j'ai un tableau de deux colonnes et des lignes dynamiques........
Merci de l'attention que vous porterez à mon pb si vous savez ce qui cloche faites moi signe merci encore
voici le code du Delete et ma méthode removePerson
======================================================================
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package crudapplication.actions;
public void actionPerformed(ActionEvent e) {
int result = JOptionPane.showConfirmDialog(null, "Voulez-vous vraiment confirmer votre choix ?",
"Confirmation de la suppression", JOptionPane.YES_NO_OPTION);
switch (result) {
case JOptionPane.YES_OPTION:
model.removePerson(selectedRows);
break;
case JOptionPane.NO_OPTION:
break;
}
}
}
et le code ou se trouve la méthode removePerson...
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package crudapplication;
public void addPerson(Person person) {
persons.add(person);
int rowIndex = persons.indexOf(person);
this.fireTableRowsInserted(rowIndex, rowIndex);
}
public Person getPerson(int indexRowSelected) {
return persons.get(indexRowSelected);
}
public List<Person> getAll() {
return this.persons;
}
======================================================================
public void removePerson(int indexRowSelected) {
persons.remove(indexRowSelected);
this.fireTableRowsDeleted(indexRowSelected, indexRowSelected);
}
public void removePerson(int[] selectedRows) {
List<Person> toDelete = new ArrayList<Person>(selectedRows.length);
for (int i = 0; i < selectedRows.length; i++) {
toDelete.add(persons.get(i));
}
for (Person person : toDelete) {
int index = persons.indexOf(person);
persons.remove(person);
this.fireTableRowsDeleted(index, index);
}
}
======================================================================
public void refreshPerson(Person person) {
int rowIndex = persons.indexOf(person);
fireTableRowsUpdated(rowIndex, rowIndex);
}
public int getRowCount() {
// throw new UnsupportedOperationException("Not supported yet.");
return persons.size();
}
public int getColumnCount() {
// throw new UnsupportedOperationException("Not supported yet.");
return 2;
}
public Object getValueAt(int rowIndex, int columnIndex) {
//throw new UnsupportedOperationException("Not supported yet.");
Object valeur;
Person person = persons.get(rowIndex);