Hej folkens,
Jeg har et lidt mærkeligt problem med et gridview (ASP.NET). RowUpdating-eventen raises ikke overhovedet. Jeg har nu prøvet både at definere
event's i skiftevis designview og i codebehind. Der sker intet. Jeg klikker opdater, gridview'et skifter fint til editmode, men når jeg så klikker enten opdater (update) eller annuller (cancel) så springer den tilbage til de gamle værdier, uden vel at mærke at fjerne knapperne igen, så noget må være galt - men kan ikke finde ud af hvor det sker.
Nedenfor ses metoden der opdaterer mit xmldokument.
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
GridViewRow gvrow = GridView1.Rows[e.RowIndex];
string belobsgraense = ((TextBox)gvrow.Cells[0].Controls[0]).Text;
string fragtpris = ((TextBox)gvrow.Cells[1].Controls[0]).Text;
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(this.configfile);
XmlNodeList nodes = xmldoc.SelectNodes("indstillinger/fragt[@type='" + selectfreightmethod.SelectedValue + "']/*");
XmlNode node = nodes[e.RowIndex];
node.Attributes["oevre"].Value = belobsgraense;
node.InnerText = fragtpris;
xmldoc.Save(this.configfile);
GridView1.EditIndex = -1;
BindGridView1();
}
Dette er den metode jeg bind'er gridviewet med.
private DataTable GetXmlContent()
{
XmlDocument xmldoc = new XmlDocument();
DataTable dt = new DataTable();
try
{
xmldoc.Load(this.configfile);
XmlNodeList xmllist = xmldoc.SelectNodes("indstillinger/fragt[@type='" + selectfreightmethod.SelectedValue + "']/*");
dt.Columns.Add("Graense");
dt.Columns.Add("Fragtpris");
foreach (XmlNode node in xmllist)
{
DataRow dr = dt.NewRow();
dr[0] = node.Attributes.Item(0).Value;
dr[1] = node.InnerText;
dt.Rows.Add(dr);
}
}
catch (XmlException xmlE)
{
System.Web.HttpContext.Current.Response.Write(xmlE);
}
return dt;
}