Как удалить строку из GridView?
Я использую элемент управления GridView
в asp.net 2005 c # using.
Как удалить определенную строку из GridView
.
Я написал следующий код. Но это не работает …
- Как получить значение ячейки по имени столбца не по индексу в GridView в asp.net
- Добавление заголовка в GridView (Android)
- Как установить GridView внутри ScrollView
- Lazy загружает изображения в gridView
- Проблемы с GridView внутри ScrollView в android
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();
-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();
- Как скрыть столбцы в ASP.NET GridView с автогенерированными столбцами?
- Пересечение столбцов GridLayoutManager Android Recyclerview
- как связать выпадающий список в gridview?
- Условно скрыть CommandField или ButtonField в Gridview
- Создать миниатюру
- Сортировка GridView: SortDirection всегда по возрастанию
- GridView с двумя столбцами, шириной заливки
- Как реализовать выбор полной строки в GridView без кнопки выбора?
Вы удаляете строку из gridview, но затем переходите и снова вызываете databind, который просто обновляет gridview до того же состояния, в котором находится исходный источник данных.
Либо удалите его из источника данных, а затем databind или databind и удалите его из gridview без повторной привязки.
Вы удаляете строку из gridview, а затем переписываете ее на источник данных (который все еще содержит строку). Либо удалите строку из источника данных, либо не перегруппируйте сетку.
Ответ по умолчанию – удалить элемент из любой коллекции, которую вы используете в качестве источника данных GridView.
Если этот параметр нежелателен, я рекомендую вам использовать событие RowDataBound
от GridView, чтобы выборочно установить для e.Row
строки ( e.Row
) Visible
значение 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(); } }
-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(); } }
Мое решение:
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(); }
Удалите строку из таблицы dtPrf_Mstr, а не из вида сетки.
Привет, как удалить из datagridview
1. удалить запрос по идентификатору
2.Type
tabletableadaptor.delete query(datagridwiewX1.selectedrows[0].cell[0].value.tostring);