找回密码
 立即注册

QQ登录

只需一步,快速开始

[已处理] 数据验证的疑问

Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-9-24 12:07:51
11#
这里想到了一个解决办法,通过CellValidateInfoNeeded事件判断验证错误,然后在Change事件中,将单元格清空


  1.         bool CellValueisValid = true;
  2.         private void FpSpread1_CellValidateInfoNeeded(object sender, CellValidateInfoNeededEventArgs e)
  3.         {
  4.             if (!e.IsValid)
  5.             {
  6.                
  7.                 CellValueisValid = false;
  8.             }
  9.         }
  10.         private void FpSpread1_Change(object sender, ChangeEventArgs e)
  11.         {
  12.             fpSpread1.ActiveSheet.ActiveCell.ResetText();
  13.             CellValueisValid = true;
  14.         }
复制代码
回复 使用道具 举报
info
初级会员   /  发表于:2020-9-24 13:07:57
12#
Richard.Ma 发表于 2020-9-24 12:07
这里想到了一个解决办法,通过CellValidateInfoNeeded事件判断验证错误,然后在Change事件中,将单元格清空 ...

使用上述方法会把正常输入的内容都清掉
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-9-24 13:58:01
13#
哦,代码少写了一个判断,添加了CellValueisValid这个变量的目的就是判断在错误时再删除
参考下面的代码,另外,如果有新的问题,建议单独发帖,这样也方便其他用户查询问题

  1.         private void FpSpread1_Change(object sender, ChangeEventArgs e)
  2.         {
  3.             if(CellValueisValid == false)
  4.             {
  5.                 fpSpread1.ActiveSheet.ActiveCell.ResetText();
  6.                 CellValueisValid = true;
  7.             }

  8.         }
复制代码
回复 使用道具 举报
info
初级会员   /  发表于:2020-9-24 14:09:23
14#
问题解决了,谢谢!
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-9-24 14:42:16
15#
不客气
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部