yellowspam
Erfahrenes Mitglied
Hi@all:
Ich habe ein GridView und dort habe ich einen Deletebutton.
So nun habe ich das GridView1_RowDeleting-Event erstellt und einige Funktionen zum löschen des Downloads geschrieben.
Nur habe ich das folgende Problem: Wenn ich die oberste Row löschen will dann löscht er sie, nur wenn ich eine andere Row lsöchen will holt sich die Funktion immer die ID der darüberliegenden Row. Vorgestern ging es noch, könnt ihr sagen wo mein Fehler liegt?
GridView1_RowDeleting:
DeleteDownload-funktion:
Ich habe ein GridView und dort habe ich einen Deletebutton.
So nun habe ich das GridView1_RowDeleting-Event erstellt und einige Funktionen zum löschen des Downloads geschrieben.
Nur habe ich das folgende Problem: Wenn ich die oberste Row löschen will dann löscht er sie, nur wenn ich eine andere Row lsöchen will holt sich die Funktion immer die ID der darüberliegenden Row. Vorgestern ging es noch, könnt ihr sagen wo mein Fehler liegt?
GridView1_RowDeleting:
C#:
void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
Classes.Downloads dl = this.Downloads;
//Guid ID = new Guid(this.GridView1.Rows[e.RowIndex].Cells[2].Text.ToString());
//Todo: Chaos copyright Stefan --> Chaos beseitigt
string guidString = (string)this.GridView1.DataKeys[e.Keys.Count]["ID"];
Guid ID;
if (guidString != string.Empty)
{
ID = new System.Guid(guidString);
dl.DeleteDownload(ID);
}
BindGrid();
}
DeleteDownload-funktion:
C#:
public bool DeleteDownload(Guid ID)
{
try
{
dt = GetDownloads();
ds.Tables.Clear();
ds.Tables.Add(dt);
bool IsDeleted = false;
//geht alle Datensätze durch bis er die richtige ID findet
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
// wenn die id = der id des datasets ist, löschen wir den datensatz...
if (new Guid(ds.Tables[0].Rows[i]["ID"].ToString()) == ID)
{
//löscht den betreffenden Datensatz
ds.Tables[0].Rows[i].Delete();
IsDeleted = true;
}
}
// schreibt ein neues xml...
ds.WriteXml(Helper.FilePath);
//gibt aus ob das File erfolgreich gelöscht wurde
return IsDeleted;
}
catch (Exception e)
{
throw e;
}
}