datagrid行验证未通过时,如何禁止离开本行

wenliang201314 2014-11-12 03:10:34
datagrid绑定一个对象,每列都可以编辑,但是各列之间有一定的逻辑关系,不能随便输入.在RowEditEnding事件中进行验证检查,如果行验证未通过,不允许切换到其它行,如何实现?为什么e.Cancel=true达不到这个效果
...全文
134 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
exception92 2014-11-13
  • 打赏
  • 举报
回复
引用 5 楼 ketuoda 的回复:
[quote=引用 2 楼 duanzi_peng 的回复:] 你是怎么切换的??回车??
鼠标点击另一行切换[/quote] 你应该了解什么是“隧道路由事件”,也就是在xaml中,如果datagrid的外层包了border,那么就应该处理border的PreviewMouseLeftButtonDown事件,一旦触发了,这个事件就会向下传递,直到你的datagrid控件,所以你选择下一行时 才能选中。 正确做法应该是,定义一个变量,如 public bool isHasError =false; 在RowEditEnding 事件中给它赋值成true(出错的情况)。在grid的PreviewMouseLeftButtonDown事件中 触发datagrid的CancelEdit()方法,然后 根据isHasError 的值 判定 e.Handled =true try。。。tks
wenliang201314 2014-11-13
  • 打赏
  • 举报
回复
引用 4 楼 hrabeyond 的回复:
绑定的selecteditem给他设回来
不起作用,还是切换到新行上去了
wenliang201314 2014-11-13
  • 打赏
  • 举报
回复
引用 3 楼 csjtxy 的回复:
这个没试过,不确定.有没有试过直接用Focus()方法?
某一行有focus方法吗?
wenliang201314 2014-11-13
  • 打赏
  • 举报
回复
引用 2 楼 duanzi_peng 的回复:
你是怎么切换的??回车??
鼠标点击另一行切换
手抓宝 2014-11-13
  • 打赏
  • 举报
回复
绑定的selecteditem给他设回来
exception92 2014-11-13
  • 打赏
  • 举报
回复
坑爹 公司不让上qq
wenliang201314 2014-11-13
  • 打赏
  • 举报
回复
引用 8 楼 duanzi_peng 的回复:
[quote=引用 5 楼 ketuoda 的回复:] [quote=引用 2 楼 duanzi_peng 的回复:] 你是怎么切换的??回车??
鼠标点击另一行切换[/quote] 你应该了解什么是“隧道路由事件”,也就是在xaml中,如果datagrid的外层包了border,那么就应该处理border的PreviewMouseLeftButtonDown事件,一旦触发了,这个事件就会向下传递,直到你的datagrid控件,所以你选择下一行时 才能选中。 正确做法应该是,定义一个变量,如 public bool isHasError =false; 在RowEditEnding 事件中给它赋值成true(出错的情况)。在grid的PreviewMouseLeftButtonDown事件中 触发datagrid的CancelEdit()方法,然后 根据isHasError 的值 判定 e.Handled =true try。。。tks [/quote] 高人!!!此方法可行.能否告知联系方式,邮箱或者QQ.以后多多请教,我QQ是418767648
csjtxy 2014-11-12
  • 打赏
  • 举报
回复
这个没试过,不确定.有没有试过直接用Focus()方法?
exception92 2014-11-12
  • 打赏
  • 举报
回复
你是怎么切换的??回车??
wenliang201314 2014-11-12
  • 打赏
  • 举报
回复
高人在哪里?

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧