//点击gridview控件自带的编辑按钮时执行的事件   
 protected void gvNewsList_RowEditing(object sender, GridViewEditEventArgs e)
    {
        gvNewsList.EditIndex = e.NewEditIndex;
        BindData();
    }
//在编辑状态下,点击取消按钮时执行的事件
    protected void gvNewsList_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        gvNewsList.EditIndex = -1;
        BindData();
    }
//在编辑状态下,点击更新按钮时执行的事件
 protected void gvNewsList_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        //这里是关键,在绑定数据的时候要指定主键名称,比如字段id,在这里可以获得这条记录的id
        //而这个id就是我们要更改的数据的id

        string ids = gvNewsList.DataKeys[e.RowIndex].Value.ToString();

//如果有多个DataKeyNames可以通过下面这个方法得到指定的一个

   //string ids = gvNewsList.DataKeys[e.RowIndex][0].ToString();


        SystemMemberLevelModel systemMemberLevelModel = systemMemberLevelBll.GetModel(Convert.ToInt64(ids));
        if (string.IsNullOrEmpty(((TextBox)gvNewsList.Rows[e.RowIndex].Cells[0].Controls[0]).Text))
        {
            Common.MessageBox.Show(this, "请输入级别名称!");
            return;
        }
        else
        {
            systemMemberLevelModel.name = ((TextBox)gvNewsList.Rows[e.RowIndex].Cells[0].Controls[0]).Text;
        }

        //是否允许新增会员
        systemMemberLevelModel.isAllowAddMember = ((CheckBox)gvNewsList.Rows[e.RowIndex].Cells[5].Controls[0]).Checked;
        //是否缺省级别
        systemMemberLevelModel.isDefault = ((CheckBox)gvNewsList.Rows[e.RowIndex].Cells[6].Controls[0]).Checked;
        //是否新闻发布免审核
        systemMemberLevelModel.isFreeAuditNews = ((CheckBox)gvNewsList.Rows[e.RowIndex].Cells[7].Controls[0]).Checked;
        //   是否求购发布免审核
        systemMemberLevelModel.isFreeAuditProvPur = ((CheckBox)gvNewsList.Rows[e.RowIndex].Cells[4].Controls[0]).Checked;
        //供应发布数量
        if (!string.IsNullOrEmpty(((TextBox)gvNewsList.Rows[e.RowIndex].Cells[2].Controls[0]).Text))
        {
            systemMemberLevelModel.pubQuantityProv =Convert.ToInt64(((TextBox)gvNewsList.Rows[e.RowIndex].Cells[2].Controls[0]).Text);
        }
        //求购发布数量
        if (!string.IsNullOrEmpty(((TextBox)gvNewsList.Rows[e.RowIndex].Cells[3].Controls[0]).Text))
        {
            systemMemberLevelModel.pubQuantityPur = Convert.ToInt64(((TextBox)gvNewsList.Rows[e.RowIndex].Cells[3].Controls[0]).Text);
        }
        //序号
        if (!string.IsNullOrEmpty(((TextBox)gvNewsList.Rows[e.RowIndex].Cells[1].Controls[0]).Text))
        {
            systemMemberLevelModel.sort = Convert.ToInt32(((TextBox)gvNewsList.Rows[e.RowIndex].Cells[1].Controls[0]).Text); 
        }
        try
        {
            systemMemberLevelBll.Update(systemMemberLevelModel);
            gvNewsList.EditIndex = -1;
            BindData();

        }
        catch (System.Data.DataException x)
        {
            throw new System.Data.DataException(x.ToString());
        }

    }

//点击控件自带的删除按钮时执行的事件
    protected void gvNewsList_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        //这里同样是通过这个属性来获取id
        string ids = gvNewsList.DataKeys[e.RowIndex].Value.ToString();
        try
        {
            systemMemberLevelBll.Delete(Convert.ToInt64(ids));
            BindData();

        }
        catch (System.Data.DataException x)
        {
            throw new System.Data.DataException(x.ToString());
        }
      
    }



//GridView数据绑定 
   protected void BindData()
    {
        IList<SystemMemberLevelModel> list = systemMemberLevelBll.GetAllList();
        this.gvNewsList.DataSource = list;
        gvNewsList.DataKeyNames = new string[] { "id" };//主键
        gvNewsList.DataBind();
    }

GridView 编辑修改的更多相关文章

  1. 抓取GridView "编辑"模式下,TextBox修改后的数值

    [FAQ]抓取GridView "编辑"模式下,TextBox修改后的数值 -- ASP.NET专题实务「上集」Ch.10 抓取GridView "编辑"模式下 ...

  2. GridView编辑删除

    A前台代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.asp ...

  3. GridView 编辑、删除 、分页

    类似代码都差不多,记录一下,便于以后查看使用. 前台页面: <asp:GridView ID="gdvList" runat="server" AutoG ...

  4. element UI Cascader 级联选择器 编辑 修改 数组 路径 问题(转载)

    来源:https://segmentfault.com/a/1190000014827485 element UI的Cascader级联选择器编辑时 vue.js element-ui 2 eleme ...

  5. boke练习: category类的编辑修改,总是提示:该分类名称已经存在

    boke练习: category类的编辑修改,总是提示:该分类名称已经存在 本利采用的dao是: jpaRepository方式 先看原始代码: category的实体类 @Entity public ...

  6. GridView编辑删除操作

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

  7. GridView编辑、取消按钮自定义控件

    这个需求来自于论坛一位坛友提出的问题,他希望能够自定义编辑.取消按钮,而不是用GridView自带的编辑和取消.这里只当抛砖引玉,提出一些解决方案. 首先在页面前台设置一个GridView. < ...

  8. EasyUI Datagrid 取编辑修改后的内容

    <script type="text/javascript"> $(function () { $('#tt').datagrid({ iconCls: 'icon-e ...

  9. GridView 编辑,更新,删除 等操作~~

    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GridView1. ...

随机推荐

  1. linux笔记_20150417_ubuntu 常见问题_文件_音乐播放器

    最近在学习ubuntu的过程中,遇到了一些问题,就记下来了它的解决办法.以希望对你也有用. ),至少保证周围局域网内用户可以访问.至于配置文件,内容比较少,反正对我来讲能用就ok了~不知道会不会很弱 ...

  2. MVC dropdownlist使用

    View中代码 @{ ViewBag.Title = "dropdownlist"; } <h2>dropdownlist</h2> @using (Htm ...

  3. [转]Javascript定义类的三种方法

    作者: 阮一峰 原文地址:http://www.ruanyifeng.com/blog/2012/07/three_ways_to_define_a_javascript_class.html 将近2 ...

  4. NServiceBus-容器

    NServiceBus自动注册以及用户实现其所有组件处理程序和传奇,这样所有实例化模式和连接在默认情况下都是正确的,没有错误. NServiceBus在容器构建(目前Autofac的ilmerge版本 ...

  5. 使用MockMvc测试Spring mvc Controller

    概述   对模块进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通过启动服务器,建立http client进行测试,这样会使得测试变得很麻烦,比如,启动速度慢,测试验证不方便 ...

  6. 通过AopTestUtils对切面对象进行mock

    概述   当对一个切面类进行测试时,由于Spring对切面对象生成了proxy对象,此时对切面对象使用ReflectionTestUtils赋值,操作的是proxy对象,而不是真实对象,会使得赋值出问 ...

  7. Uva 11183 - Teen Girl Squad (最小树形图)

    Problem ITeen Girl Squad Input: Standard Input Output: Standard Output You are part of a group of n  ...

  8. dom 冒泡事件

    <!doctype html> <html> <head> <meta charset="utf-8"> <style> ...

  9. 购买咏南中间件送客户端C/S和B/S开发框架

    购买咏南DATASNAP中间件送CS插件开发框架和BS开发框架,CS.BS开发框架共享同一个中间件.价格从优! 中间件可供DELPHI6~DELPHI XE8开发的客户端调用! CS开发框架截图: B ...

  10. CSS学习篇核心之——盒子模型

    概述 关于CSS的一些基础知识我们在前面文章中已经有所了解,这篇文章我们主要来学习下CSS中的核心知识盒子模型的知识. 盒子模型 元素框的最内部分是实际的内容(element),直接包围内容的是内边距 ...