GridView 编辑修改
//点击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 编辑修改的更多相关文章
- 抓取GridView "编辑"模式下,TextBox修改后的数值
[FAQ]抓取GridView "编辑"模式下,TextBox修改后的数值 -- ASP.NET专题实务「上集」Ch.10 抓取GridView "编辑"模式下 ...
- GridView编辑删除
A前台代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="test.asp ...
- GridView 编辑、删除 、分页
类似代码都差不多,记录一下,便于以后查看使用. 前台页面: <asp:GridView ID="gdvList" runat="server" AutoG ...
- element UI Cascader 级联选择器 编辑 修改 数组 路径 问题(转载)
来源:https://segmentfault.com/a/1190000014827485 element UI的Cascader级联选择器编辑时 vue.js element-ui 2 eleme ...
- boke练习: category类的编辑修改,总是提示:该分类名称已经存在
boke练习: category类的编辑修改,总是提示:该分类名称已经存在 本利采用的dao是: jpaRepository方式 先看原始代码: category的实体类 @Entity public ...
- GridView编辑删除操作
第一种:使用DataSource数据源中自带的编辑删除方法,这样的不经常使用,在这里就不加说明了. 另外一种:使用GridView的三种事件:GridView1_RowEditing(编辑).Grid ...
- GridView编辑、取消按钮自定义控件
这个需求来自于论坛一位坛友提出的问题,他希望能够自定义编辑.取消按钮,而不是用GridView自带的编辑和取消.这里只当抛砖引玉,提出一些解决方案. 首先在页面前台设置一个GridView. < ...
- EasyUI Datagrid 取编辑修改后的内容
<script type="text/javascript"> $(function () { $('#tt').datagrid({ iconCls: 'icon-e ...
- GridView 编辑,更新,删除 等操作~~
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GridView1. ...
随机推荐
- IOS-多视图控制器之间的切换
1. 创建个单视图应用程序 2. 在向Main.storyboard中拖一个ViewController控制器 3. 在第一个viewController中添加一个按钮 4. 按着control键,推 ...
- 句柄(handle)
< Back 句柄,在windows编程中用来标识: *.模块(module) *.任务(task) *.实例(instance) *.文件(file) *.内存块(block of memor ...
- Embedded之memory test
1 main.c #include "led.h" #define BASE_ADDRESS (volatile datum *) 0x10000000 #define NUM_B ...
- Ubuntu14.04下安装QQ 国际版
在/etc/apt/source.list文件中添加: deb http://packages.linuxdeepin.com/deepin trusty main non-free universe ...
- CodeForces 622 A.Infinite Sequence
A.Infinite Sequence time limit per test 1 second memory limit per test 256 megabytes input standard ...
- U盘分区信息清除
diskpart select disk 1 clean 清除选中(优U)盘的所有信息;
- incompatible
- HDFS的Shell
调用文件系统(FS)Shell命令应使用 $HADOOP_HOME/bin/hadoop fs 的形式. 所有的FS Shell命令使用URI路径作为参数. URI格式是scheme://author ...
- Ubuntu下Android编译环境的配置
从安装操作系统到编译程序结束,过程大致如下. 1. Ubuntu Linux操作系统安装软件包.使用 Ubuntu 14.04 Desktop系统.安装Linux系统到VMWare虚拟机上. 2. 完 ...
- datatable把一个LIst的数据放入两个colum防止窜行的做法
DataColumn objectOne = new DataColumn("objectOne", typeof(object)); dt.Columns.Add(objectO ...