Come eliminare una riga da GridView?

Sto usando il controllo GridView in asp.net 2005 c # usando.

Come posso cancellare una particolare riga da GridView .

Ho scritto il seguente codice. Ma non funziona …

 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(); 

Stai cancellando la riga dal gridview ma stai andando e chiamando di nuovo il database che sta semplicemente aggiornando il gridview nello stesso stato in cui si trova l’origine dati originale.

Rimuoverlo dall’origine dati e quindi dal database o dal database e rimuoverlo dalla griglia senza redatabinding.

Stai eliminando la riga da gridview e quindi rebindandola all’origine dati (che contiene ancora la riga). Eliminare la riga dall’origine dati o non eseguire nuovamente il reindirizzamento alla griglia in seguito.

La risposta predefinita è rimuovere l’elemento da qualsiasi raccolta che si sta utilizzando come DataSource di GridView.

Se l’opzione non è desiderabile, ti consiglio di utilizzare l’evento RowDataBound di GridView per impostare selettivamente la proprietà Visible della riga ( e.Row ) su false.

 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(); } } 

La mia soluzione:

 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(); } 

Eliminare la riga dalla tabella dtPrf_Mstr anziché dalla visualizzazione griglia.

ciao come eliminare da datagridview

1.make query delete da id
2.Type

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