GridView自带编辑删除更新逻辑很简单:操作完,重新绑定。总结总结,防止忘记。。。

效果图:

前台代码:

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="gridView_bianjidelete.aspx.cs" Inherits="gridView_bianjidelete" %>
  2.  
  3. <!DOCTYPE html>
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head runat="server">
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  8. <title></title>
  9. </head>
  10. <body>
  11. <form id="form1" runat="server">
  12. <div>
  13. <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
  14. ForeColor="#333333" GridLines="None" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing"
  15. OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit">
  16. <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
  17. <Columns>
  18. <asp:BoundField DataField="ID" HeaderText="产品ID" ReadOnly="True" />
  19. <asp:BoundField DataField="name" HeaderText="产品name" />
  20. <asp:BoundField DataField="stock" HeaderText="库存" />
  21.  
  22. <asp:CommandField HeaderText="选择" ShowSelectButton="True" />
  23. <asp:CommandField HeaderText="编辑" ShowEditButton="True" />
  24. <asp:CommandField HeaderText="删除" ShowDeleteButton="True" />
  25. </Columns>
  26. <RowStyle ForeColor="#000066" />
  27. <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="Red" />
  28. <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
  29. <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
  30. </asp:GridView>
  31. </div>
  32. </form>
  33. </body>
  34. </html>

  后台代码:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Configuration;
  4. using System.Data;
  5. using System.Data.SqlClient;
  6. using System.Linq;
  7. using System.Web;
  8. using System.Web.UI;
  9. using System.Web.UI.WebControls;
  10.  
  11. public partial class gridView_bianjidelete : System.Web.UI.Page
  12. {//清清月儿http://blog.csdn.net/21aspnet
  13. SqlConnection sqlcon;
  14. SqlCommand sqlcom;
  15. string strCon = ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString;
  16. protected void Page_Load(object sender, EventArgs e)
  17. {
  18. if (!IsPostBack)
  19. {
  20. bind();
  21. }
  22. }
  23. protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
  24. {
  25. GridView1.EditIndex = e.NewEditIndex;
  26. bind();
  27. }
  28.  
  29. //删除之后重新绑定
  30. protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
  31. {
  32. string sqlstr = "delete from product where id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
  33. sqlcon = new SqlConnection(strCon);
  34. sqlcom = new SqlCommand(sqlstr, sqlcon);
  35. sqlcon.Open();
  36. sqlcom.ExecuteNonQuery();
  37. sqlcon.Close();
  38. GridView1.DataBind();
  39. bind();
  40. }
  41.  
  42. //更新
  43. protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
  44. {
  45. sqlcon = new SqlConnection(strCon);
  46. string sqlstr = "update product set name='"
  47. + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',stock='"
  48. + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "' where id='"
  49. + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
  50. sqlcom = new SqlCommand(sqlstr, sqlcon);
  51. sqlcon.Open();
  52. sqlcom.ExecuteNonQuery();
  53. sqlcon.Close();
  54. GridView1.EditIndex = -1;
  55. // GridView1.DataBind();
  56. bind();
  57. }
  58.  
  59. //取消
  60. protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
  61. {
  62. GridView1.EditIndex = -1;
  63. bind();
  64. }
  65.  
  66. //绑定
  67. public void bind()
  68. {
  69. string sqlstr = "select * from product p,Uuser u where p.userid=u.id";
  70. sqlcon = new SqlConnection(strCon);
  71. SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);
  72. DataSet myds = new DataSet();
  73. sqlcon.Open();
  74. myda.Fill(myds, "datatable");
  75. GridView1.DataSource = myds;
  76. GridView1.DataKeyNames = new string[] { "id" };//主键
  77. GridView1.DataBind();
  78. sqlcon.Close();
  79. }
  80. }

  效果图:

GridView总结二:GridView自带编辑删除更新的更多相关文章

  1. UITableView 自带编辑删除 自己定义button

    一:UITableView 自带编辑删除 1:实现两个方法就可以 #pragma mark   tableView自带的编辑功能 -(void)tableView:(UITableView *)tab ...

  2. GridView如何实现双击行进行编辑,更新

    虽然标题是原创,但是其实主要的思想呢还是接见了晓风残月的思路,今天在晓风残月的博客上看到了如何利用GridView来实现双击进行编辑.我决定动手实现一下,由于还没有实现双击进行更改操作,所以顺便就把这 ...

  3. GridView编辑删除操作

    第一种:使用DataSource数据源中自带的编辑删除方法,这样的不经常使用,在这里就不加说明了. 另外一种:使用GridView的三种事件:GridView1_RowEditing(编辑).Grid ...

  4. Android中GridView的使用——使用自带的SimpleAdapter(简单适配器)

    GridView一直是一个系统登录后以九宫格方式展现功能子模块的最佳选择,经过试验和网上资料的查阅,现把实现方式总结一下: 一直是通过自定义Adapter方式,在getView()方法中设置图片的显示 ...

  5. ASP.NET编辑与更新数据(非GridView控件实现)

    Insus.NET在实现<ASP.NET开发,从二层至三层,至面向对象 (5)>http://www.cnblogs.com/insus/p/3880606.html 中,没有把数据编辑与 ...

  6. editplus批量删除重复行(编辑-删除-删除重复行)

    editplus快速删除重复数据 多行文本,有些行的文字或数据是重复的,该怎么删除重复部分,只留下不重复的部分?很多人对这个问题感到无比头疼,Editplus同样能快速帮你删除数据. 那么,editp ...

  7. [置顶] gridview中嵌套gridview(并实现子gridview的数据绑定),页面传值,加密,数据绑定

    先来张效果图 gridview 中嵌套gridview的原理是这样的,在父gridview中建一个摸板列,然后再模版列当中在放入子gridview,然后再父gridview的OnRowDataBoun ...

  8. windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  9. UITableVIew与UICollectionView带动画删除cell时崩溃的处理

    UITableVIew与UICollectionView带动画删除cell时崩溃的处理 -会崩溃的原因是因为没有处理好数据源与cell之间的协调关系- 效果: tableView的源码: ModelC ...

随机推荐

  1. C++ string 用法详解

    /////////////////////////////////////////////////////////////////////////////////// 任何人对本文进行引用都要标明作者 ...

  2. java 实现验证码

    package edu.zzuli.common; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; i ...

  3. free命令查看内存使用情况(转载)

    linux free命令查看内存使用情况 时间:2016-01-05 06:47:22来源:网络 导读:linux free命令查看内存使用情况,free命令输出结果的各选项的含义,以及free结果中 ...

  4. Legolas工业自动化平台入门(一)搭建应用

    前两篇给大家介绍了TWaver家族的新面孔--Legolas工业自动化平台,通过两个应用案例钻井平台工程用车和水源地监控系统,相信大家对Legolas已经有了一定程度的了解.这几篇文章,我们会逐步介绍 ...

  5. 安卓模拟器bluestack 换imei

    有好多种方法,下面介绍2种   第一种方法   通过靠谱助手设置,非常简单.   第二种方法   1.解压 root_20121221文件夹,将Root.fs 覆盖到 win7路径:C:\Progra ...

  6. html5[1]:优化Android Webview性能

    尽量少用position:relative 做一个OTO项目时,页面上下滑动时,颤抖的很厉害: 页面中主要是图片比较多,开始以为是图片多的原因,但是把所有图片都不加载,还是颤抖: 后来,去掉所有外部的 ...

  7. LED子系统剖析

    写之前,先看一张图: 上次说了LED驱动程序,Linux自身也携带了LED驱动,且是脱离平台的,即LED子系统.操作起来十分简单.但是它的实质却不是那么容易,研究了一个晚上,终于明白了其中一个文件的功 ...

  8. 七牛portal可用性测试记

    引言:2013年年底应七牛公司朋友的邀请,给他们的Portal进行可用性测试.七牛(http://www.qiniu.com/)一直专注于云存储基础服务,在业内颇有声誉.七牛云存储的后台选用并不常用的 ...

  9. Kafka集群部署

    一. 关于kafka Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键 ...

  10. Webstrom (或Phpstrom)使用git(oschina-码云)

      .登录"码云"(题外话,这名字起得真好),创建一个新项目   .自动进入了新项目主页,复制该git 仓库的https地址,第4步会用到   .打开Webstrom,选择chec ...