¿Cómo eliminar una fila de GridView?

Estoy usando el control GridView en asp.net 2005 c # using.

¿Cómo puedo eliminar una fila en particular de GridView ?

He escrito el siguiente código. Pero no está funcionando …

 DataRow dr = dtPrf_Mstr.NewRow(); dtPrf_Mstr.Rows.Add(dr); GVGLCode.DataSource = dtPrf_Mstr; GVGLCode.DataBind(); int iCount = GVGLCode.Rows.Count; for (int i = 0; i <= iCount; i++) { GVGLCode.DeleteRow(i); } GVGLCode.DataBind(); 

Está borrando la fila de la vista de cuadrícula, pero luego va y llama de nuevo a databind, que simplemente está actualizando la vista de cuadrícula al mismo estado en que se encuentra el origen de datos original.

Elimínelo de la fuente de datos y luego enlace de datos, o enlace de datos y elimínelo de la vista de cuadrícula sin el enlazado de redacción.

Está eliminando la fila de la vista de cuadrícula y luego vuelve a vincularla a la fuente de datos (que todavía contiene la fila). Elimine la fila del origen de datos o no vuelva a enlazar la vista de cuadrícula después.

La respuesta predeterminada es eliminar el elemento de la colección que esté utilizando como DataSource de GridView.

Si esa opción no es deseable, le recomiendo que utilice el evento RowDataBound de GridView para establecer selectivamente la propiedad Visible ( e.Row ) de la fila en falso.

 using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Data.SqlClient; public partial class Default3 : System.Web.UI.Page { DataTable dt = new DataTable(); DataSet Gds = new DataSet(); // DataColumn colm1 = new DataColumn(); //DataColumn colm2 = new DataColumn(); protected void Page_Load(object sender, EventArgs e) { dt.Columns.Add("ExpId", typeof(int)); dt.Columns.Add("FirstName", typeof(string)); } protected void BtnLoad_Click(object sender, EventArgs e) { // gvLoad is Grid View Id if (gvLoad.Rows.Count == 0) { Gds.Tables.Add(tblLoad()); } else { dt = tblGridRow(); dt.Rows.Add(tblRow()); Gds.Tables.Add(dt); } gvLoad.DataSource = Gds; gvLoad.DataBind(); } protected DataTable tblLoad() { dt.Rows.Add(tblRow()); return dt; } protected DataRow tblRow() { DataRow dr; dr = dt.NewRow(); dr["Exp Id"] = Convert.ToInt16(txtId.Text); dr["First Name"] = Convert.ToString(txtName.Text); return dr; } protected DataTable tblGridRow() { DataRow dr; for (int i = 0; i < gvLoad.Rows.Count; i++) { if (gvLoad.Rows[i].Cells[0].Text != null) { dr = dt.NewRow(); dr["Exp Id"] = gvLoad.Rows[i].Cells[1].Text.ToString(); dr["First Name"] = gvLoad.Rows[i].Cells[2].Text.ToString(); dt.Rows.Add(dr); } } return dt; } protected void btn_Click(object sender, EventArgs e) { dt = tblGridRow(); dt.Rows.Add(tblRow()); Session["tab"] = dt; // Response.Redirect("Default.aspx"); } protected void gvLoad_RowDeleting(object sender, GridViewDeleteEventArgs e) { dt = tblGridRow(); dt.Rows.RemoveAt(e.RowIndex); gvLoad.DataSource = dt; gvLoad.DataBind(); } } 

Mi solución:

 protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { myobj.myconnection();// connection created string mystr = "Delete table_name where water_id= '" + GridView1.DataKeys[e.RowIndex].Value + "'";// query sqlcmd = new SqlCommand(mystr, myobj.mycon); sqlcmd.ExecuteNonQuery(); fillgrid(); } 

Elimine la fila de la tabla dtPrf_Mstr en lugar de desde la vista de cuadrícula.

hola cómo eliminar desde datagridview

1.hacer eliminar consulta por id
2. tipo

 tabletableadaptor.delete query(datagridwiewX1.selectedrows[0].cell[0].value.tostring);