# Datatable Löschen Fehler



## Kasi (2. Mrz 2007)

Hallo,

ich bin gerade dabei bei einem <h:dataTable> (bei einer Tabelle, jsf) eine Löschen - Funktion zu schreiben.
Mein problem dabei ist, dass, egal welche Zeile ich Löschen will, dabei immer der erste Eintrag in meiner Tabelle gelöscht wird.

Tabelle so in etwa:

BenutzerID   Name
1                 admin         LÖSCHENBUTTON
2                 test             LÖSCHENBUTTON



```
// Löschen eines Eintrages
    public String cmd_Loeschen_action() {
        
        try{
            RowKey rk = getTblbenutzerDataProvider().getCursorRow();
            tblbenutzerDataProvider.setCursorRow(rk);
            if (rk != null  && tblbenutzerDataProvider.canRemoveRow(rk)) {
                tblbenutzerDataProvider.removeRow(rk);
                tblbenutzerDataProvider.commitChanges();
                tblbenutzerDataProvider.refresh();
                info("Eintrag wurde gelöscht");
            }
        } catch(Exception e){
            error(e.getMessage());
            info("Konnte Zeile nicht löschen");
        }
        return null;
    }
```


Bitte um Hilfe

MFG Kasi


----------



## kasi (4. Mrz 2007)

hallo,

hat niemand nen Vorschlag???


Bitte helft mir,

ich bin für jede hilfe dankbar.


----------



## y0dA (6. Mrz 2007)

Wie markierst du denn die Zeile, welche du löschen möchtest?


----------



## kasi (6. Mrz 2007)

hallo,

ich dachte, dass würde mit diesem code gehen 


```
RowKey rk = getTblbenutzerDataProvider().getCursorRow();
            tblbenutzerDataProvider.setCursorRow(rk);
```

oder muss ich extra einen code in die bean schreiben???

MFG Kasi


----------



## Guest (7. Mrz 2007)

Hallo Kasi,

mit ist nicht ganz klar was du mit der löschen funktion bezwecken willst???

Wenn Du eine Zeile löschen willst dann lösche diese lieber aus dem Daten-Container den Du der Tabelle übergibst. Wird die Seite neu geladen erscheint die entsprechende Zeile nicht mehr.

Oder habe ich dich falsch verstanden?


Gruß,

Marius


----------



## kasi (7. Mrz 2007)

Hallo,

ich habe eine mysql Datenbank.

Die Tabelle übernimmt Werte von einer Tabelle dieser Datenbank(werden im DataProvider gespeichert(denke ich)).

mit 
	
	
	
	





```
RowKey rk = getTblbenutzerDataProvider().getCursorRow();
```

sollte die aktuell ausgewählte Zeile der Tabelle zurückgegeben werden.

Mit


```
tblbenutzerDataProvider.removeRow(rk);
tblbenutzerDataProvider.commitChanges();
tblbenutzerDataProvider.refresh();
```

sollte diese Zeile gelöscht (im DataTable und in meiner mysql Datenbank) werden und im DataTable diese Zeile dann nicht mehr angezeigt werden.

Doch dies geschieht nicht.

Ich bekomme nicht die Zeile als selektierte zurück, in der ich auf den Löschen - Button clicke.


MFG und Danke für die Hilfe


----------



## Marius.Kryzka (7. Mrz 2007)

Hallo Kasi,

ich glaube hier kann Dir nur jemand helfen der sich mit dem Sun Java Studio Creator auskennt!

Gruß,

Marius


----------

