如何获取GridView编辑状态下单元格里的值?

还在使用这样的代码吗?

var txtName = grid1.Rows[e.RowIndex].Cells[0].FindControl("txtName") as TextBox;if (txtName != null){    // 读取值    //}

其实这些工作(在单元格中查找控件,并尝试获取其中的值)已经被封装了 。现在,只要调用 ExtractValuesFromCell 方法即可。

而该方法也被很多种列类型所支持:

DataControlField, BoundField, AutoGeneratedField, CheckBoxField, ImageField, TemplateField, DynamicField

你可以在 GridView 的 RowUpdating, RowDeleting 等事件中使用它。利用 该方法,可以将值提取到所需的字典里去,然后再从字典中读取。这些字典包括 :e.Keys, e.NewValues, e.OldValues 等。

一小段例子代码:

// 更新    protected void grid1_RowUpdating(object sender, GridViewUpdateEventArgs e)    {        var row = grid1.Rows[e.RowIndex];        // 提取 Id 字段的值        grid1.Columns[0].ExtractValuesFromCell(            e.Keys,            row.Cells[0] as DataControlFieldCell,            DataControlRowState.Edit,            true /* include readonly */);        // 提取 Name 字段的值        grid1.Columns[1].ExtractValuesFromCell(            e.NewValues,            row.Cells[1] as DataControlFieldCell,            DataControlRowState.Edit,            true /* include readonly */);        var id = int.Parse(e.Keys["id"].ToString());        var name = (string) e.NewValues["name"];        // 执行相关的数据库更新操作        //    }

这样,在大多数场合我们可以尽可能多的使用 BoundField,并且也能正确读 取到其编辑时的值,省下自定义 TemplateField 的一堆代码了。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索方法
, grid
, 代码
, 字段
, 字典
, 编辑的值获取
, 获取gridview的值
RowUpdating
gridview 编辑单元格、gridview单元格可编辑、gridview获取单元格值、gridview 编辑状态、c gridview 编辑状态,以便于您获取更多的相关知识。

时间: 2024-08-02 19:18:45

如何获取GridView编辑状态下单元格里的值?的相关文章

c1flexgrid-C1FlexGrid 用户在界面编辑grid的单元格之后点击保存按钮但编辑的值并未保存。

问题描述 C1FlexGrid 用户在界面编辑grid的单元格之后点击保存按钮但编辑的值并未保存. 求解! C1FlexGrid界面修改单元格值后直接点击保存按钮,该值没有被保存进来-- 这个问题有谁遇到过? 请问怎样解决?或者是编辑后该值被存储在某个地方,怎样获取?请大牛们进来看看,多多指点! 解决方案 这个问题解决了,呵呵-- 希望可以帮到其他的友友~ 方法:点击保存时,在保存中添加代码:将焦点赋给该grid,问题解决~

如何使用C# 在WORD单元格里对部分字符添加下划线

问题描述 如何使用C# 在WORD单元格里对部分字符添加下划线 请问如何使用C# 在某个WORD单元格里对[部分字符]添加下划线,注意是部分字符,不是单元格里所有的字符 解决方案 类似这种问题最佳的做法就是先录制一个宏,然后对照自动产生的代码来写 解决方案二: 首先确保选中单元格的文字,然后对选区加上下划线.

Excel怎么把多个单元格数据合并到1个单元格里?

  Excel怎么把多个单元格数据合并到1个单元格里? 1.首先打开要使用的表格. 2.然后选择A列和B列的数据到C列.选择A列的数据加上&"-"&和B列的数据 3.把信息都输入之后需要点击保存就就可以得到我们所需要的数据. 4.按照C列的数据选中单元格然后往下拉 5.然后就可以得到整体的数据啦,是不是很方便

Excel单元格里的小写如何转成大写

  1.启动Excel2007,打开表格我们会发现单元格里的内容都是小写的,这个时候我们可以点击单元格,然后在单元格里输入"=upper(D2)". 2.这个时候D2单元格里的小写就转换成大写啦. 3.下拉复制单元格格式我们就可以快速的将剩余的内容里的小写字母转成大写字母.

wpf datagrid 光标如何落到单元格里

问题描述 wpf datagrid 光标如何落到单元格里 我的这个datagrid没有写任何代码,是后台绑定的数据,表头也是. 我想后台控制编辑位置,这个效果 解决方案 http://bbs.csdn.net/topics/390426889

java-POI如何修改一个Excel的合并单元格的值(合并单元格原来有值的)?

问题描述 POI如何修改一个Excel的合并单元格的值(合并单元格原来有值的)? POI如何修改一个Excel的合并单元格的值(合并单元格原来有值的)? 解决方案 合并单元格的值其实就是左上角那个单元格的值,直接读写它就可以了. 解决方案二: poi excel合并单元格Apache POI如何获取Excel合并单元格的值POI 合并单元格 值填充问题 解决方案三:

表单中table一个单元格里有两个数据,就是一个td有两个input=text。怎么确定数据相关。

问题描述 表单中table一个单元格里有两个数据,就是一个td有两个input=text.怎么确定数据相关. 表单中table一个单元格里有两个数据,就是一个td有两个input=text.怎么确定数据相关. 解决方案 确定数据相关是什么意思?你想实现什么 解决方案二: 你问问题能不能把问题说明白 解决方案三: 大概是这个意思吧? <!DocTYPE HTML><html> <head> <meta charset=""utf-8"&

C#如何识别和设置EXCEL里单元格里有上标下标的字符?

问题描述 现在需要导入EXCEL到数据库里(用的NPOI),如果excel单元格里有上下标(见图片),希望能识别出上下标,存到库里时用特殊字符进行标识,比如发现上标,用#上标符号#放到数据库里.再从数据库里导出EXCEL时(用的Microsoft.Office.Interop.Excel),也能根据特殊标识,导出excel时还原成上标或者下标.请问谁实现过以上的功能?谢谢了... 解决方案 解决方案二:没弄过.通过NPOI读取,对比下区别呢?

在单元格里或层里出现滚动条

单元格 如何在单元格里或层里出现滚动条 解决思路:     主要是通过设置元素的CSS属性overflow(包含overflow-x和overflow-y)来实现. 具体步骤: 1.自动出现横向滚动条: <div style="width:200;height:200;overflow-x:auto"> <script> //使元素出现横向滚动条 document.write(new Array(20).join("!")) //使元素出现纵