//点击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. IOS-多视图控制器之间的切换

    1. 创建个单视图应用程序 2. 在向Main.storyboard中拖一个ViewController控制器 3. 在第一个viewController中添加一个按钮 4. 按着control键,推 ...

  2. 句柄(handle)

    < Back 句柄,在windows编程中用来标识: *.模块(module) *.任务(task) *.实例(instance) *.文件(file) *.内存块(block of memor ...

  3. Embedded之memory test

    1 main.c #include "led.h" #define BASE_ADDRESS (volatile datum *) 0x10000000 #define NUM_B ...

  4. Ubuntu14.04下安装QQ 国际版

    在/etc/apt/source.list文件中添加: deb http://packages.linuxdeepin.com/deepin trusty main non-free universe ...

  5. CodeForces 622 A.Infinite Sequence

    A.Infinite Sequence time limit per test 1 second memory limit per test 256 megabytes input standard ...

  6. U盘分区信息清除

    diskpart select disk 1 clean 清除选中(优U)盘的所有信息;

  7. incompatible

  8. HDFS的Shell

    调用文件系统(FS)Shell命令应使用 $HADOOP_HOME/bin/hadoop fs 的形式. 所有的FS Shell命令使用URI路径作为参数. URI格式是scheme://author ...

  9. Ubuntu下Android编译环境的配置

    从安装操作系统到编译程序结束,过程大致如下. 1. Ubuntu Linux操作系统安装软件包.使用 Ubuntu 14.04 Desktop系统.安装Linux系统到VMWare虚拟机上. 2. 完 ...

  10. datatable把一个LIst的数据放入两个colum防止窜行的做法

    DataColumn objectOne = new DataColumn("objectOne", typeof(object)); dt.Columns.Add(objectO ...