在asp.net中,用按钮删除选定的gridview行,怎么删呢

qq_20868003 2014-09-29 10:16:31
   商品编号名称单价数量 数据绑定数据绑定数据绑定 数据绑定数据绑定数据绑定 数据绑定数据绑定数据绑定 数据绑定数据绑定数据绑定 数据绑定数据绑定数据绑定 数据绑定数据绑定数据绑定 数据绑定数据绑定数据绑定 数据绑定数据绑定数据绑定 数据绑定数据绑定数据绑定 数据绑定数据绑定数据绑定 12SqlDataSource - SqlDataSource1温馨提示:更改购买数量后,请单击“重新计算”按钮进行更新!数量后,请单击“重新计算”按钮进行更新!
总价:                       
...全文
2023 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
IDIOT 2014-09-30
  • 打赏
  • 举报
回复
超过20行了:(
IDIOT 2014-09-30
  • 打赏
  • 举报
回复
点按钮删除gridview选中行。
 /// <summary>
        /// 删除选中行数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnDel_Click(object sender, EventArgs e)
        {
            string name = Convert.ToString(mainView.SelectedRows[0].Cells[1].Value);
            if (MessageBoxEx.Show("确认是否删除选中员工资料?", "警告:操作需谨慎。本条资料一旦删除将不可恢复!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No)
            {
                return;
            }
            DialogResult result = MessageBoxEx.Show("请再次确认是否删除员工【" + name + "】的资料?", "警告:操作需谨慎。本条资料一旦删除将不可恢复!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
            switch (result)
            {
                case DialogResult.Yes:
                    for (int i = this.mainView.SelectedRows.Count; i > 0; i--)
                    {
                        string p_no = Convert.ToString(mainView.SelectedRows[i - 1].Cells[0].Value);
                        //string name = Convert.ToString(mainView.SelectedRows[i - 1].Cells[1].Value);
                        mainView.Rows.RemoveAt(mainView.SelectedRows[i - 1].Index);
                        //使用获得的p_no删除数据库的数据
                        string SQL =string.Format( "delete from Rperson where p_no='{0}'", p_no);
                        int s = Convert.ToInt32(Execute(SQL)); //Execute()是类中的一个方法
                        if (s != 0)
                        {
                            MessageBox.Show("成功删除选中行数据!员工【" + name + "】资料已被移除!", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        ConnectToDatabase();//删除后刷新datagridview
                    }
                    break;
                case DialogResult.No:
                    break;
            }
        }
huaneramn 2014-09-30
  • 打赏
  • 举报
回复
楼上太坑了,一个删除而已,20行搞定
jiaxin_2648872250 2014-09-30
  • 打赏
  • 举报
回复
asp.net在GridView控件中选中一行数据删除示例 //GridView控件删除数据设置 <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound" OnSelectedIndexChanging="GridView1_SelectedIndexChanging" Font-Size="9pt" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" CellPadding="4" ForeColor="#333333" GridLines="None" onrowdeleting="GridView1_RowDeleting"> <Columns> <asp:BoundField DataField="id" HeaderText="信息ID" /> <asp:BoundField DataField="name" HeaderText="信息主题" /> <asp:BoundField DataField="type" HeaderText="信息分类" /> <asp:BoundField DataField="userName" HeaderText="发布人" /> <asp:BoundField DataField="lineMan" HeaderText="联系人" /> <asp:BoundField DataField="term" HeaderText="有效期" DataFormatString="{0:d}" /> <asp:BoundField DataField="check" HeaderText="审核" /> <asp:CommandField HeaderText="通过/取消" SelectText="通过/取消" ShowSelectButton="True" /> <asp:CommandField HeaderText="删除" ShowDeleteButton="True" /> </Columns> <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" /> <RowStyle BackColor="#FFFBD6" ForeColor="#333333" /> <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" /> <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Right" /> <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="White" /> </asp:GridView> //加载数据显示 public void GV_DataBind() { string sqlstr = "select * from tb_inf "; sqlcon = new SqlConnection(strCon); SqlDataAdapter da = new SqlDataAdapter(sqlstr, sqlcon); DataSet ds = new DataSet(); sqlcon.Open(); da.Fill(ds); sqlcon.Close(); this.GridView1.DataSource = ds; this.GridView1.DataKeyNames = new string[] { "id" }; this.GridView1.DataBind(); }//CodeGo.net/ //重新绑定数据显示 protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { this.GridView1.PageIndex= e.NewPageIndex; this.GV_DataBind(); } //选择要删除的数据索引同时更新数据 protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e) { string id = this.GridView1.DataKeys[e.NewSelectedIndex].Value.ToString(); sqlcon = new SqlConnection(strCon); SqlCommand com = new SqlCommand("select [check] from tb_inf where id='" + id + "'", sqlcon); sqlcon.Open(); string count = Convert.ToString(com.ExecuteScalar()); if (count == "False") { count = "1"; } else { count = "0"; } com.CommandText = "update tb_inf set [check]=" + count + " where id=" + id; com.ExecuteNonQuery(); sqlcon.Close(); this.GV_DataBind(); } //询问对话框 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.Cells[6].Text == "False") { e.Row.Cells[6].Text = "<font color=red>已通过</font>"; } else { e.Row.Cells[6].Text = "未通过"; } if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) { //内容提示为GridView第二行数据显示的内容,其索引值为1(注意:.NET中索引值都是从0开始) ((LinkButton)e.Row.Cells[8].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('确认要删除信息主题:\"" + e.Row.Cells[1].Text + "\"吗?')"); } } } //成功删除数据 protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { int InfoId = (int)GridView1.DataKeys[e.RowIndex].Value;//获取要删除的数据行的索引 string strSql = "Delete from tb_inf where id=@id";//定义删除操作的SQL语句 sqlcon = new SqlConnection(strCon); if (sqlcon.State.Equals(ConnectionState.Closed)) { sqlcon.Open(); }//打开数据库连接 SqlCommand cmd = new SqlCommand(strSql, sqlcon); SqlParameter pares = new SqlParameter("@id", SqlDbType.Int, 4);//定义参数 cmd.Parameters.Add(pares);//添加参数 cmd.Parameters["@id"].Value = InfoId;//参数赋值 if (cmd.ExecuteNonQuery() > 0)//判断删除操作是否成功 { Response.Write("<script>alert('删除成功!')</script>"); } sqlcon.Close();//关闭数据库连接 GV_DataBind();//重新绑定数据 }
gxmsdc0133 2014-09-30
  • 打赏
  • 举报
回复
Rows[i].Cells[j].Text获取gridvew中的记录ID,然后就可以删除了
小蜗牛1 2014-09-29
  • 打赏
  • 举报
回复
protected void lbtn_UnconfirmedQuotes_delete(object sender, GridViewDeleteEventArgs e) { ////获得此条数据的id string id= GridView_UnconfirmedQuotes.Rows[e.RowIndex].Cells[0].Text; string sqlstr="delete from table1 where id="+id; CommonMySql.MySql_Delete(sqlstr); } 前台加入onrowdeleting="lbtn_UnconfirmedQuotes_delete"绑定事件,后台编写处理函数,获得id,然后删除。
我本良人 2014-09-29
  • 打赏
  • 举报
回复
首先获取GridView你要删除行的索引 有了索引,你就只需要写SQL语句了 http://blog.csdn.net/yangmingxing980/article/details/22091741
低下头8吻你 2014-09-29
  • 打赏
  • 举报
回复
在girdview中加入

<asp:Button ID="btnDelete" runat="server" CausesValidation="false" Text="删除" CommandName="Delete"
                            CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ID").ToString()%>'
                            OnClientClick="return closeme()" />
之后在后台的uxGrid_RowCommand事件中

protected void uxGrid_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName != "Page")
            {
                 if (e.CommandName == "Delete")
                {
                    //需要删除的操作

                    ScriptHelper.MsgBox(this.Page, "删除成功!");
                    this.BindGridData(ID);
                }
            }
        }
就是这么简单
moonwrite 2014-09-29
  • 打赏
  • 举报
回复
http://www.cnblogs.com/rob0121/articles/1691015.html

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧