回复 32楼q406157290的帖子
如果在RowEditEnding事件里不提交新行,只是给新行设置了UpdateErrorMessage,那么在CellFactory里遍历然后GetErrors是获取不到错误信息的(27#已解释)。我的意思就是你在RowEditEnding事件里检测到错误,并把错误存储到一个变量里,然后在CellFactory中就通过那个存储变量来查找错误信息,并处理(可以存储有错误的DataItem,在CellFactory可以判断重绘的当前行的DataItem在不在这个列表里,并获取其中的UpdateErrorMessage);
至于errorMessage的显示,既然不采用C1FlexGrid自带的,那就自己加上吧,在CellFactory中判断如果为新行,而且通过上面介绍的方式获取到排它错误信息时,手动设置错误提示信息即可:- string errors = GetErrors(rng);// 通过自己的方式获取排它错误
- if (!string.IsNullOrEmpty(errors))
- {
- grid.ErrorStyle.Apply(bdr);
- this.SetErrorTip(grid, bdr, errors);
- }
复制代码 你可以试试看,由于没有Demo验证,我也只是理论理论 |