后台程序:

public partial class tw2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            this.createdb();
        }
    }
    private void createdb()
    {
        SqlConnection cn = new SqlConnection("server=.;database=zhang;uid=sa;pwd=410"); //(Data Source =服务器;Initial Catalog=数据库;Integrated Security=True")本地用户登录
        SqlDataAdapter adp = new SqlDataAdapter();
        adp.SelectCommand = new SqlCommand("select * from chang", cn);
        DataSet ds = new DataSet();
        adp.Fill(ds, "chang");
        this.GridView1.DataKeyNames = new string[] { "changid" }; //定义主键
        this.GridView1.DataSource = ds.Tables[0].DefaultView;
        this.GridView1.DataBind();
        cn.Close();    }
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) //取消按钮
    {
        GridView1.EditIndex = -1;
        this.createdb();
    }
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) //编辑按钮
    {
        GridView1.EditIndex = e.NewEditIndex;
        this.createdb();
    }
    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) //选择按钮
    {
       int id = Convert.ToInt32(e.CommandArgument); //取行索引号
       string txt = GridView1.DataKeys[id].Value.ToString(); //取主键的值
       Response.Write(txt);
       // this.createdb();    }
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) //删除按钮
    {

  //在删除事件中获取绑定列的值 GridView1.Rows[e.RowIndex].Cells[1].Text.ToString();
        SqlConnection cn = new SqlConnection("server=.;database=zhang;uid=sa;pwd=410");
        cn.Open();
        SqlCommand cm=new SqlCommand("delete from chang where changid=" +GridView1.DataKeys[e.RowIndex].Value,cn); //e.RowIndex取本行索引号,
        cm.ExecuteNonQuery();
        cn.Close();
        GridView1.EditIndex = -1;
        this.createdb();    }
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) //更新按钮
    {
        GridViewRow   row   =   GridView1.Rows[e.RowIndex]; 
        TextBox   box   =   (TextBox)row.Cells[2].Controls[0];
        Response.Write(box.Text);
        try
        {
            SqlConnection cn = new SqlConnection("server=.;database=zhang;uid=sa;pwd=410");
            cn.Open();
            SqlCommand cm = new SqlCommand("update chang set chang1='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',chang2='" + ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "' where changid=" + GridView1.DataKeys[e.RowIndex].Value, cn); //列的编号是从1,这里更新的是第二列和第三列所以cell[2],cell[3],而行的索引是从0开始的
            cm.ExecuteNonQuery();
            GridView1.EditIndex = -1;
            this.createdb();
            cn.Close();

    //在更新事件中获取其他绑定列的值

   // GridView1.Rows[e.RowIndex].Cells[9].Text.ToString();

    //由于隐藏列不能获取其值,可以用以下方法:

    //1.先定义个隐藏样式

      <style type="text/css">
   .hidden { display:none;}
</style>

      2.在隐藏列的HTML标记里引用这个样式,代码如下:

<asp:BoundField DataField="num"  ReadOnly="True">
                    <HeaderStyle CssClass="hidden" />
                    <ItemStyle CssClass="hidden" />
                    </asp:BoundField>

    //这样就可以获取隐藏列的值了,比如修改出库数量的时候要先判断库存等。

}
        catch (Exception exc)
        {
            Response.Write(exc.Message);
        }
    }   
}

Gridview中的选择、删除、编辑、更新、取消留着备用。的更多相关文章

  1. gridview的编辑,更新,取消,自动分页等

    gridview编辑列,把左下角的"自动生成字段"的复选框的勾去掉 添加boundfield(绑定列)将其datafield设置为productname,headertext设置为 ...

  2. Gridview中运用CommandField 删除控件时注意点

    我在gridview1 <编辑列>里面添加了一个<CommandField 删除>的控件,之后在gridview1的事件<RowDeleting>事件下 写了一段删 ...

  3. GridView中CheckBox的用法

    以下是我在GridView中控制CheckBox的全选/取消全选,根据子CheckBox处理全选CheckBox状态的操作并获取所选GridView中所选行的列的值. 脚本代码:    <scr ...

  4. GridView中的编辑和删除按钮,执行更新和删除代码之前的更新提示或删除提示

    在GridView中,可以通过设计界面GridViewr任务->编辑列->CommandField,很简单的添加的编辑和删除按钮 在前台源码中,可以看到GridView自动生成了两个列. ...

  5. ASP.net中GridView中增加一行记录并默认显示为编辑状态

    //添加 protected void Button1_Click(object sender, EventArgs e) { DataSet ds = (DataSet)pa.GetDataSet( ...

  6. AngularJS进阶(十一)AngularJS实现表格数据的编辑,更新和删除

    AngularJS实现表格数据的编辑,更新和删除 效果 实现 首先,我们先建立一些数据,当然你可以从你任何地方读出你的数据 var app = angular.module('plunker', [' ...

  7. [原创]MYSQL中利用外键实现级联删除和更新

    MySQL中利用外键实现级联删除.更新 MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引.在创建索引的时候,可以指定 ...

  8. MySQL中利用外键实现级联删除、更新

    MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引.在创建索引的时候,可以指定在删除.更新父表时,对子表进行的相应操作 ...

  9. openerp模块收藏 移除下拉选择列表中的“创建并编辑”链接(转载)

    移除下拉选择列表中的“创建并编辑”链接 原文:http://shine-it.net/index.php/topic,5990.0.html 有时希望下拉列表中列出的项是与主表某个字段关联的,用户只能 ...

随机推荐

  1. SQL Server 数据库自建表

    sysobjects是系统自建的表,里面存储了在数据库内创建的每个对象(约束.默认值.日志.规则.存储过程等). 列名 数据类型 描述 name sysname 对象名 id int 对象标识号 xt ...

  2. easyui扩展

    datagrid行内编辑时为datetimebox $.extend($.fn.datagrid.defaults.editors, { datetimebox: {// datetimebox就是你 ...

  3. SVD分解及线性最小二乘问题

    这部分矩阵运算的知识是三维重建的数据基础. 矩阵分解 求解线性方程组:,其解可以表示为. 为了提高运算速度,节约存储空间,通常会采用矩阵分解的方案,常见的矩阵分解有LU分解.QR分解.Cholesky ...

  4. python json (loads(),load(),jump(),jumps())

    # loads() str to json data# jumps() json to str# jump() json to filedef ladstest(): data = '{"n ...

  5. [转]关于setInterval只执行一次的原因

    原文地址:https://blog.csdn.net/skyblacktoday/article/details/79374613 我在做一个demo的时候发现的,之前可能遇到过到时没有记住,也没有写 ...

  6. [转]java 下载网络上的图片并保存到本地目录

    原文地址:http://takeme.iteye.com/blog/1683380 import java.io.File; import java.io.FileOutputStream; impo ...

  7. Django的安装要点

    Django 的安装: 安装包: 百度盘里搜索"Django-1.7.tar.gz" 安装环境 WIN7 解压文件 移动到python安装目录下 python setup.py i ...

  8. shell中date使用总结-基于自动定期备份mysql实践

    ------------------------时间的格式 date [OPTION]... [+FORMAT] echo `date 空格 +'时间格式串'` 调用date必须加符号反引号``,表示 ...

  9. C语言 · 身份证排序

    算法提高 身份证排序   时间限制:1.0s   内存限制:256.0MB      问题描述 安全局搜索到了一批(n个)身份证号码,希望按出生日期对它们进行从大到小排序,如果有相同日期,则按身份证号 ...

  10. Sahi (3) —— 压力测试Load Test以CAS SSO登陆场景为例(103 Tutorial)

    Sahi (3) -- 压力测试Load Test以CAS SSO登陆场景为例(103 Tutorial) jvm版本: 1.8.0_65 sahi版本: Sahi Pro 6.1.0 参考来源: S ...