C# Asp.Net中gridview中自带的删除按钮怎么用

2025-03-05 09:35:09
推荐回答(4个)
回答1:

楼主你好:

GridView选中,编辑,取消,删除:

效果图:

后台代码:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{


    SqlConnection sqlcon;
   SqlCommand sqlcom;
   string strCon = "Data Source=(local);Database=数据库名;Uid=帐号;Pwd=密码";
   protected void Page_Load(object sender, EventArgs e)
   {
       if (!IsPostBack)
       {
           bind();
       }
   }
   protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
   {
       GridView1.EditIndex = e.NewEditIndex;
       bind();
   }

//删除
   protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
   {
       string sqlstr = "delete from 表 where id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
       sqlcon = new SqlConnection(strCon);
       sqlcom = new SqlCommand(sqlstr,sqlcon);
       sqlcon.Open();
       sqlcom.ExecuteNonQuery();
       sqlcon.Close();
       bind();
   }

//更新
   protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
   {
       sqlcon = new SqlConnection(strCon);
       string sqlstr = "update 表 set 字段1='"
           + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',字段2='"
           + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',字段3='"
           + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "' where id='"
           + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
       sqlcom=new SqlCommand(sqlstr,sqlcon);
       sqlcon.Open();
       sqlcom.ExecuteNonQuery();
       sqlcon.Close();
       GridView1.EditIndex = -1;
       bind();
   }

//取消
   protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
   {
       GridView1.EditIndex = -1;
       bind();
   }

//绑定
   public void bind()
   {
       string sqlstr = "select * from 表";
       sqlcon = new SqlConnection(strCon);
       SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
       DataSet myds = new DataSet();
       sqlcon.Open();
       myda.Fill(myds, "表");
       GridView1.DataSource = myds;
       GridView1.DataKeyNames = new string[] { "id" };//主键
       GridView1.DataBind();
       sqlcon.Close();
   }
}

前台主要代码:
                           ... ...
                       ForeColor="#333333" GridLines="None" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing"
                       OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit">
                       
                       
                           
                           
                           
                           
                           
                           
                           
                       

                       
                       
                       
                       
                   

 

 

希望对你有帮助,望采纳,谢谢

回答2:

需要在配置数据源是选择高级  生成INSERT 、UPDATE、DELETE语句

然后删除才有效

回答3:

这个删除是要写一个方法的。然后在方法里有一个e.什么的参数传递,再获取gridview中的当选的key值才能正确删除的。要不然肯定会报错的。

回答4:

需要为GridView的删除写一个方法,也可以不用自带的自己写一个,表示一般都自己写