返回信息流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]
这是一条镜像帖。来源:北邮人论坛 / dot-net / #1207同步于 2010/1/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖
小白求教问题T_T
baoyu430
2010/1/18镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
可以使用CellValidating事件
但是
Conver.ToDouble的括号里应该使用
e.FormattedValue来获得当前的输入值
dgr.Rows[].Cells[].Value是用来获得之前的数据的
【 在 baoyu430 (【团长尾随团】Alice9条~) 的大作中提到: 】
: dgv_CellValidating 事件中
: try
: { Convert.ToDouble(dataGridView31.Rows[e.RowIndex].Cells[e.ColumnIndex].Value); }
: ...................
目睹snoopyboy同学为了解答问题,亲自打开vs调试,何等敬业啊~~
赞!@@
【 在 snoopyboy (patpat~) 的大作中提到: 】
: 可以使用CellValidating事件
: 但是
: Conver.ToDouble的括号里应该使用
: ...................
=。=
【 在 ahomer (水上蓝心) 的大作中提到: 】
: 目睹snoopyboy同学为了解答问题,亲自打开vs调试,何等敬业啊~~
: 赞!@@
灰常感谢 你好像什么都知道 [em19]或者是我太白痴了。。。
【 在 snoopyboy 的大作中提到: 】
: 可以使用CellValidating事件
: 但是
: Conver.ToDouble的括号里应该使用
: ...................
我也是试出来的
对于事件来说,最好多使用e里面的参数,毕竟这个是和当前
事件紧密相关的~~要使用合适的事件来做对应的事情
多试试,多baidu、google
.NET开发中非常重要的就是多种多样的类库,它们会帮助你减少
开发难度,所以要相信绝大多数的你能想到的功能微软的工程师
也想到了,并且应该做进去了
good luck:)
【 在 baoyu430 的大作中提到: 】
: 灰常感谢 你好像什么都知道 [em19]或者是我太白痴了。。。