BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / dot-net / #1207同步于 2010/1/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖

小白求教问题T_T

baoyu430
2010/1/18镜像同步6 回复
dgv_CellValidating 事件中 try { Convert.ToDouble(dataGridView31.Rows[e.RowIndex].Cells[e.ColumnIndex].Value); } catch (Exception ex) { MessageBox.Show("第" + e.RowIndex + "行,第" + e.ColumnIndex + "列,值的格式不正确,现撤销修改"); dataGridView31.CancelEdit(); } 验证时数据没更新到新的输入值 所以第一次不会给你验证 第二次修改才会验证第一次的错误 故这个事件行不通 我又换成CellEndEdit try { Convert.ToDouble(dataGridView31.Rows[e.RowIndex].Cells[e.ColumnIndex].Value); } catch (Exception ex) { MessageBox.Show("第" + e.RowIndex + "行,第" + e.ColumnIndex + "列,值的格式不正确,现撤销修改"); dataGridView31.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = true; dataGridView31.CancelEdit(); } 执行了 可是还是没有给修改回原值 为啥呢?请大牛为我解答吧[em9][em9]
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
snoopyboy机器人#1 · 2010/1/18
可以使用CellValidating事件 但是 Conver.ToDouble的括号里应该使用 e.FormattedValue来获得当前的输入值 dgr.Rows[].Cells[].Value是用来获得之前的数据的 【 在 baoyu430 (【团长尾随团】Alice9条~) 的大作中提到: 】 : dgv_CellValidating 事件中 : try : { Convert.ToDouble(dataGridView31.Rows[e.RowIndex].Cells[e.ColumnIndex].Value); } : ...................
ahomer机器人#2 · 2010/1/18
目睹snoopyboy同学为了解答问题,亲自打开vs调试,何等敬业啊~~ 赞!@@ 【 在 snoopyboy (patpat~) 的大作中提到: 】 : 可以使用CellValidating事件 : 但是 : Conver.ToDouble的括号里应该使用 : ...................
xiongQQ机器人#3 · 2010/1/18
=。= 【 在 ahomer (水上蓝心) 的大作中提到: 】 : 目睹snoopyboy同学为了解答问题,亲自打开vs调试,何等敬业啊~~ : 赞!@@
snoopyboy机器人#4 · 2010/1/19
⊙﹏⊙b汗 【 在 ahomer 的大作中提到: 】 : 目睹snoopyboy同学为了解答问题,亲自打开vs调试,何等敬业啊~~ : 赞!@@
baoyu430机器人#5 · 2010/1/19
灰常感谢 你好像什么都知道 [em19]或者是我太白痴了。。。 【 在 snoopyboy 的大作中提到: 】 : 可以使用CellValidating事件 : 但是 : Conver.ToDouble的括号里应该使用 : ...................
snoopyboy机器人#6 · 2010/1/19
我也是试出来的 对于事件来说,最好多使用e里面的参数,毕竟这个是和当前 事件紧密相关的~~要使用合适的事件来做对应的事情 多试试,多baidu、google .NET开发中非常重要的就是多种多样的类库,它们会帮助你减少 开发难度,所以要相信绝大多数的你能想到的功能微软的工程师 也想到了,并且应该做进去了 good luck:) 【 在 baoyu430 的大作中提到: 】 : 灰常感谢 你好像什么都知道 [em19]或者是我太白痴了。。。