I don't get it at all... Why would you attach your eventhandlers in the BindData() method when you call this method from the Eventhandlers themselves ?
Don't you see a cycle here ? On May 4, 2:21 pm, Cezus <[email protected]> wrote: > Hello, > > I have a problem in my composite control. In this composite control I > create a GridView in one of the TableCells of a Table control. This > GridView has multiple events on it, such as rowediting event, > rowupdating event, rowcancelingedit event. > > image:http://www.cezus.nl/GridView.JPG > > [code] > private void BindData() > { > _gvCategories = (GridView)this.FindControl > ("gvCategories"); > _dtCategories = (DataTable)HttpContext.Current.Session > ["dtCategories"]; > > _gvCategories.DataSource = _dtCategories; > _gvCategories.AutoGenerateDeleteButton = true; > _gvCategories.AutoGenerateEditButton = true; > _gvCategories.RowEditing += new GridViewEditEventHandler > (_gvCategories_RowEditing); > _gvCategories.RowUpdating += new GridViewUpdateEventHandler > (_gvCategories_RowUpdating); > _gvCategories.RowDeleting += new GridViewDeleteEventHandler > (_gvCategories_RowDeleting); > _gvCategories.RowCreated += new GridViewRowEventHandler > (_gvCategories_RowCreated); > _gvCategories.RowCancelingEdit += new > GridViewCancelEditEventHandler(_gvCategories_RowCancelingEdit); > > _gvCategories.DataBind(); > } > > void _gvCategories_RowEditing(object sender, > GridViewEditEventArgs e) > { > _gvCategories = (GridView)sender; > _gvCategories.EditIndex = e.NewEditIndex; > BindData(); > } > > void _gvCategories_RowUpdating(object sender, > GridViewUpdateEventArgs e) > { > _gvCategories = (GridView)sender; > _dtCategories = (DataTable)HttpContext.Current.Session > ["dtCategories"]; > GridViewRow row = _gvCategories.Rows[e.RowIndex]; > > foreach (DataRow dr in _dtCategories.Rows) > { > if (dr.RowState != DataRowState.Deleted) > { > if (Convert.ToInt32(dr["drID"]) == Convert.ToInt32 > (((TextBox)(row.Cells[3].Controls[0])).Text)) > { > dr["ID"] = ((TextBox)(row.Cells[1].Controls > [0])).Text; > dr["Categorie"] = ((TextBox)(row.Cells > [2].Controls[0])).Text; > } > } > } > _gvCategories.EditIndex = -1; > HttpContext.Current.Session["dtCategories"] = > _dtCategories; > > BindData(); > > Button _btnNieuw = (Button)this.FindControl("btnNieuw"); > _btnNieuw.Enabled = true; > > } > [/code] > > If I press on the 'edit' button in the GridView it goes to the > rowediting event. If I press after that on the 'update' button it goes > again through the rowediting event instead of going through the > rowupdating event. > > I am struggling for 2 days with this, I hope somebody knows a > solution. > > With Kind Regards, > > Cees van Altena --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "DotNetDevelopment, VB.NET, C# .NET, ADO.NET, ASP.NET, XML, XML Web Services,.NET Remoting" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/DotNetDevelopment?hl=en -~----------~----~----~----~------~----~------~--~---
