您可以使用内置的验证器和操作来验证单元格中的数据。验证器允许您设置验证条件,例如最小值和最大值。这些操作使您可以在验证失败(单元格颜色更改,声音等)时通知用户。 以下为各种类型的验证器:
验证结果可以用以下形式提示
通过一个实例说明,如何使用
客户有以下需求,需要验证当前Sheet中(1,1)单元格中的文本等于文本列表中的某一项,否则验证为错误数据
通过以下方式在界面提示用户,并删除错误数据
1.在右侧显示错误图标
2.弹窗错误弹窗
对于上述需求验证单元格中的文本等于文本列表中的某一项,我们可以用IncludeListValidator,
- FarPoint.Win.Spread.IncludeListValidator ilist = new FarPoint.Win.Spread.IncludeListValidator();
- ilist.Candidates = new string[] { "Bird", "Deer", "Squirrel", "Lizard" };
复制代码
给IncludeListValidator中加入一个IconNotify,以显示错误图标,DoActionReason 属性用于控制错误信息显示的时间。在编辑完成后显示
- FarPoint.Win.Spread.IconNotify linen = new FarPoint.Win.Spread.IconNotify();
- linen.Icon = Properties.Resources.Spread;
- linen.IconAlignment = ContentAlignment.MiddleRight;
- linen.IconTip = "数据验证失败";
- linen.DoActionReason = FarPoint.Win.Spread.ValidateReasons.EndEdit;
复制代码
给IncludeListValidator中加入一个MessageBoxNotify,用于显示错误弹窗
- ilist.Actions.Add(
- new MessageBoxNotify() {
- Icon = MessageBoxIcon.Error,
- Caption = "错误",
- Message = "数据验证失败",
- DoActionReason= ValidateReasons.EndEdit
- }
- );
复制代码
最后,将此验证器添加到(1,1)单元格中
- fpSpread1.Sheets[0].AddValidators(new FarPoint.Win.Spread.Model.CellRange(1, 1, 1, 1), ilist);
复制代码
以上代码,已经实现了错误图标提示和错误弹窗提示
我们还需要删除错误数据
使用CellValidateInfoNeeded事件判断验证是否通过
- fpSpread1.CellValidateInfoNeeded += FpSpread1_CellValidateInfoNeeded;
复制代码
另加一个bool变量CellValueisValid 用于保存验证是否通过,然后在FpSpread的Change事件中依据CellValueisValid的值判断是否删除数据
- bool CellValueisValid = true;
- private void FpSpread1_CellValidateInfoNeeded(object sender, CellValidateInfoNeededEventArgs e)
- {
- if (!e.IsValid)
- {
-
- CellValueisValid = false;
- }
- }
- private void FpSpread1_Change(object sender, ChangeEventArgs e)
- {
- if(CellValueisValid == false)
- {
- fpSpread1.ActiveSheet.ActiveCell.ResetText();
- CellValueisValid = true;
- }
- }
复制代码
以下为运行结果
|