回复 12楼KNight的帖子
您給我的demo我看過了
我发现还是有问题当出现验证错误时 每个单元格确实出现了红框,可是RowError没有出来,就是每行最前面的那个小红点(如图2所示)没有显示出来
可是当在进入某单元格编辑再结束编辑后 那个小红点就出来了
我想要的是出现验证错误后 前面的小红点也是要出来的
麻烦您再看看 谢谢您了
给您提完这个问题我后来把该问题解决了
您看对吗
- private void myCheck_RowEditEnding(object sender, C1.WPF.FlexGrid.CellEditEventArgs e)
- {
- C1FlexGrid flexGrid = sender as C1FlexGrid;
- // 满足某些条件时出现验证错误
- if (Verify(e.Row))
- {
- ((MySelf)flexGrid.SelectedItem).UpdateErrorMessage = "Error!!";
- // 重绘当前行
- flexGrid.Invalidate(new CellRange(e.Row, 0, e.Row, flexGrid.Columns.Count - 1));
- flexGrid.StartEditing(false);//添加的就是这两行代码就可以了
- flexGrid.FinishEditing(false);
- }
- else
- {
- ((MySelf)flexGrid.SelectedItem).UpdateErrorMessage = "";
- }
- // 当有验证错误时,取消行编辑
- Row r = flexGrid.Rows[e.Row];
- foreach (Column c in flexGrid.Columns)
- {
- if (!string.IsNullOrEmpty(r.GetErrors(c)))
- {
- e.Cancel = true;
- return;
- }
- }
- }
复制代码 |